From dc97adba2dd14b216b1dd9d756ad1edbfd63534c Mon Sep 17 00:00:00 2001 From: celotajstg <81999976+celotajstg@users.noreply.github.com> Date: Sat, 10 Apr 2021 17:18:30 +0300 Subject: [PATCH 01/12] Refactor crew manifest in lobby, ghost and AI actions (#58275) Co-authored-by: celotajstg --- code/_globalvars/tgui.dm | 1 + code/datums/datacore.dm | 16 +++-- code/modules/mob/dead/crew_manifest.dm | 52 +++++++++++++++ .../modules/mob/dead/new_player/new_player.dm | 8 +-- code/modules/mob/dead/observer/observer.dm | 7 +- code/modules/mob/living/silicon/silicon.dm | 7 +- lobotomy-corp13.dme | 2 + tgui/packages/tgui/interfaces/CrewManifest.js | 64 +++++++++++++++++++ .../tgui/styles/interfaces/CrewManifest.scss | 41 ++++++++++++ tgui/packages/tgui/styles/main.scss | 1 + 10 files changed, 183 insertions(+), 16 deletions(-) create mode 100644 code/_globalvars/tgui.dm create mode 100644 code/modules/mob/dead/crew_manifest.dm create mode 100644 tgui/packages/tgui/interfaces/CrewManifest.js create mode 100644 tgui/packages/tgui/styles/interfaces/CrewManifest.scss diff --git a/code/_globalvars/tgui.dm b/code/_globalvars/tgui.dm new file mode 100644 index 000000000000..6903af6d9133 --- /dev/null +++ b/code/_globalvars/tgui.dm @@ -0,0 +1 @@ +GLOBAL_DATUM(crew_manifest_tgui, /datum/crew_manifest) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 2795b182bab3..4b1b7dad31fd 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -170,12 +170,18 @@ if((rank in jobs) || (true_rank in jobs)) //Tegu edit - alt job titles if(!manifest_out[department]) manifest_out[department] = list() - manifest_out[department] += list(list( - "name" = name, - "rank" = rank - )) + // Append to beginning of list if captain or department head + if (rank == "Captain" || (department != "Command" && (rank in GLOB.command_positions))) + manifest_out[department] = list(list( + "name" = name, + "rank" = rank + )) + manifest_out[department] + else + manifest_out[department] += list(list( + "name" = name, + "rank" = rank + )) has_department = TRUE - break if(!has_department) if(!manifest_out["Misc"]) manifest_out["Misc"] = list() diff --git a/code/modules/mob/dead/crew_manifest.dm b/code/modules/mob/dead/crew_manifest.dm new file mode 100644 index 000000000000..fafed6bfee33 --- /dev/null +++ b/code/modules/mob/dead/crew_manifest.dm @@ -0,0 +1,52 @@ +/datum/crew_manifest + +/datum/crew_manifest/ui_state(mob/user) + return GLOB.always_state + +/datum/crew_manifest/ui_status(mob/user, datum/ui_state/state) + return (isnewplayer(user) || isobserver(user) || isAI(user) || ispAI(user)) ? UI_INTERACTIVE : UI_CLOSE + +/datum/crew_manifest/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if (!ui) + ui = new(user, src, "CrewManifest") + ui.open() + +/datum/crew_manifest/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + if (..()) + return + +/datum/crew_manifest/ui_data(mob/user) + var/list/positions = list( + "Command" = 0, + "Security" = 0, + "Engineering" = 0, + "Medical" = 0, + "Science" = 0, + "Supply" = 0, + "Service" = 0, + "Silicon" = 0 + ) + var/list/departments = list( + list("flag" = DEPARTMENT_COMMAND, "name" = "Command"), + list("flag" = DEPARTMENT_SECURITY, "name" = "Security"), + list("flag" = DEPARTMENT_ENGINEERING, "name" = "Engineering"), + list("flag" = DEPARTMENT_MEDICAL, "name" = "Medical"), + list("flag" = DEPARTMENT_SCIENCE, "name" = "Science"), + list("flag" = DEPARTMENT_CARGO, "name" = "Supply"), + list("flag" = DEPARTMENT_SERVICE, "name" = "Service"), + list("flag" = DEPARTMENT_SILICON, "name" = "Silicon") + ) + + for(var/job in SSjob.occupations) + for(var/department in departments) + // Check if the job is part of a department using its flag + // Will return true for Research Director if the department is Science or Command, for example + if(job["departments"] & department["flag"]) + // Add open positions to current department + positions[department["name"]] += (job["total_positions"] - job["current_positions"]) + + return list( + "manifest" = GLOB.data_core.get_manifest(), + "positions" = positions + ) diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 0591a1c2e1b8..fa7f1d7c8afa 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -35,6 +35,7 @@ /mob/dead/new_player/Destroy() GLOB.new_player_list -= src + return ..() /mob/dead/new_player/prepare_huds() @@ -523,11 +524,10 @@ return client.crew_manifest_delay = world.time + (1 SECONDS) - var/dat = "" - dat += "

Crew Manifest

" - dat += GLOB.data_core.get_manifest_html() + if(!GLOB.crew_manifest_tgui) + GLOB.crew_manifest_tgui = new /datum/crew_manifest(src) - src << browse(dat, "window=manifest;size=387x420;can_close=1") + GLOB.crew_manifest_tgui.ui_interact(src) /mob/dead/new_player/Move() return 0 diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 78134dd79575..0b1cd300229e 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -698,11 +698,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return client.crew_manifest_delay = world.time + (1 SECONDS) - var/dat - dat += "

Crew Manifest

" - dat += GLOB.data_core.get_manifest_html() + if(!GLOB.crew_manifest_tgui) + GLOB.crew_manifest_tgui = new /datum/crew_manifest(src) - src << browse(dat, "window=manifest;size=387x420;can_close=1") + GLOB.crew_manifest_tgui.ui_interact(src) //this is called when a ghost is drag clicked to something. /mob/dead/observer/MouseDrop(atom/over) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 512a4dc09e89..3380cd9c847d 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -331,9 +331,10 @@ return client.crew_manifest_delay = world.time + (1 SECONDS) - var/datum/browser/popup = new(src, "airoster", "Crew Manifest", 387, 420) - popup.set_content(GLOB.data_core.get_manifest_html()) - popup.open() + if(!GLOB.crew_manifest_tgui) + GLOB.crew_manifest_tgui = new /datum/crew_manifest(src) + + GLOB.crew_manifest_tgui.ui_interact(src) /mob/living/silicon/proc/set_autosay() //For allowing the AI and borgs to set the radio behavior of auto announcements (state laws, arrivals). if(!radio) diff --git a/lobotomy-corp13.dme b/lobotomy-corp13.dme index 16ba50f799ce..cfb009ee9f88 100644 --- a/lobotomy-corp13.dme +++ b/lobotomy-corp13.dme @@ -224,6 +224,7 @@ #include "code\_globalvars\misc.dm" #include "code\_globalvars\regexes.dm" #include "code\_globalvars\religion.dm" +#include "code\_globalvars\tgui.dm" #include "code\_globalvars\traits.dm" #include "code\_globalvars\lists\achievements.dm" #include "code\_globalvars\lists\admin.dm" @@ -2558,6 +2559,7 @@ #include "code\modules\mob\status_procs.dm" #include "code\modules\mob\transform_procs.dm" #include "code\modules\mob\camera\camera.dm" +#include "code\modules\mob\dead\crew_manifest.dm" #include "code\modules\mob\dead\dead.dm" #include "code\modules\mob\dead\new_player\login.dm" #include "code\modules\mob\dead\new_player\logout.dm" diff --git a/tgui/packages/tgui/interfaces/CrewManifest.js b/tgui/packages/tgui/interfaces/CrewManifest.js new file mode 100644 index 000000000000..fa109d900656 --- /dev/null +++ b/tgui/packages/tgui/interfaces/CrewManifest.js @@ -0,0 +1,64 @@ +import { useBackend } from "../backend"; +import { Icon, Section, Table } from "../components"; +import { Window } from "../layouts"; + +const commandJobs = [ + "Captain", + "Head of Personnel", + "Head of Security", + "Chief Engineer", + "Research Director", + "Chief Medical Officer", +]; + +export const CrewManifest = (props, context) => { + const { data: { manifest, positions } } = useBackend(context); + + return ( + + + {Object.entries(manifest).map(([department, crew]) => ( +
+ + {Object.entries(crew).map(([crewIndex, crewMember]) => ( + + + {crewMember.name} + + + {commandJobs.includes(crewMember.rank) && ( + + )} + + + {crewMember.rank} + + + ))} +
+
+ ))} +
+
+ ); +}; diff --git a/tgui/packages/tgui/styles/interfaces/CrewManifest.scss b/tgui/packages/tgui/styles/interfaces/CrewManifest.scss new file mode 100644 index 000000000000..8291cbbd50f6 --- /dev/null +++ b/tgui/packages/tgui/styles/interfaces/CrewManifest.scss @@ -0,0 +1,41 @@ +@use '../colors.scss'; + +$department_map: ( + 'Command': colors.$yellow, + 'Security': colors.$red, + 'Engineering': colors.$orange, + 'Medical': colors.$teal, + 'Science': colors.$purple, + 'Supply': colors.$brown, + 'Service': colors.$green, + 'Silicon': colors.$pink +); + +.CrewManifest { + @each $department-name, $color-value in $department_map { + &--#{$department-name} { + .Section { + &__title { + border-color: $color-value; + } + &__titleText { + color: $color-value; + } + } + } + } + + &__Cell { + padding: 3px 0; + + &--Captain { + color: colors.$yellow; + padding: 3px 8px; + } + + &--Command { + color: colors.$yellow; + padding: 3px 9px; + } + } +} diff --git a/tgui/packages/tgui/styles/main.scss b/tgui/packages/tgui/styles/main.scss index 03fd832d574a..d6aa3fe82ef9 100644 --- a/tgui/packages/tgui/styles/main.scss +++ b/tgui/packages/tgui/styles/main.scss @@ -45,6 +45,7 @@ @include meta.load-css('./interfaces/ListInput.scss'); @include meta.load-css('./interfaces/AlertModal.scss'); @include meta.load-css('./interfaces/CameraConsole.scss'); +@include meta.load-css('./interfaces/CrewManifest.scss'); @include meta.load-css('./interfaces/NuclearBomb.scss'); @include meta.load-css('./interfaces/Paper.scss'); @include meta.load-css('./interfaces/Roulette.scss'); From 54545c67e03602621536e934bb8c6605e1201e77 Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Thu, 2 Jan 2025 06:05:57 +0100 Subject: [PATCH 02/12] Job re-arranging 1.0, ports department bitflags from #57174 --- code/__DEFINES/jobs.dm | 9 ++ code/__DEFINES/~lobotomy_defines/jobs.dm | 79 ++++++++++++ code/controllers/subsystem/maptype.dm | 16 ++- code/datums/datacore.dm | 18 ++- code/modules/jobs/job_types/_job.dm | 3 + code/modules/jobs/job_types/agent.dm | 1 + code/modules/jobs/job_types/assistant.dm | 10 +- code/modules/jobs/job_types/captain.dm | 1 + code/modules/jobs/job_types/city/HHPP.dm | 1 + .../job_types/city/backstreets_butcher.dm | 1 + code/modules/jobs/job_types/city/carnival.dm | 1 + code/modules/jobs/job_types/city/civilian.dm | 2 +- code/modules/jobs/job_types/city/doctor.dm | 2 + .../modules/jobs/job_types/city/fixer/east.dm | 2 + .../jobs/job_types/city/fixer/north.dm | 4 +- .../job_types/city/misc/blade_lineage_misc.dm | 1 + .../modules/jobs/job_types/city/prosthetic.dm | 1 + code/modules/jobs/job_types/city/rat.dm | 1 + .../city/syndicate/blade_lineage/cutthroat.dm | 1 + .../city/syndicate/blade_lineage/salsu.dm | 1 + .../city/syndicate/index/messenger.dm | 1 + .../city/syndicate/index/proselyte.dm | 1 + .../job_types/city/syndicate/index/proxy.dm | 1 + .../city/syndicate/kurokumo/blade_ronin.dm | 1 + .../city/syndicate/kurokumo/captain.dm | 1 + .../city/syndicate/kurokumo/enforcer.dm | 1 + .../city/syndicate/kurokumo/wakashu.dm | 1 + .../city/syndicate/ncorp/grandinquis.dm | 1 + .../city/syndicate/ncorp/grosshammer.dm | 1 + .../city/syndicate/ncorp/kleinhammer.dm | 1 + .../city/syndicate/ncorp/mittlehammer.dm | 1 + .../job_types/city/syndicate/thumb/capo.dm | 1 + .../job_types/city/syndicate/thumb/soldato.dm | 1 + .../city/syndicate/thumb/sottocapo.dm | 1 + code/modules/jobs/job_types/city/workshop.dm | 3 +- code/modules/jobs/job_types/command.dm | 2 + .../modules/jobs/job_types/gimmick/fishing.dm | 1 + .../gimmick/wonderlabs/departmentcaptain.dm | 1 + .../gimmick/wonderlabs/departmenthead.dm | 1 + .../jobs/job_types/labs/command/assetprot.dm | 1 + .../jobs/job_types/labs/command/command.dm | 1 + .../jobs/job_types/labs/command/commandsec.dm | 3 + .../jobs/job_types/labs/command/infotech.dm | 1 + .../jobs/job_types/labs/medical/chemist.dm | 1 + .../jobs/job_types/labs/medical/cmo.dm | 1 + .../jobs/job_types/labs/medical/nurse.dm | 1 + .../jobs/job_types/labs/medical/paramedic.dm | 1 + .../jobs/job_types/labs/medical/surgeon.dm | 1 + .../jobs/job_types/labs/research/clerk.dm | 1 + .../jobs/job_types/labs/research/lead.dm | 1 + .../jobs/job_types/labs/research/paperwork.dm | 1 + .../job_types/labs/research/researcher.dm | 1 + .../jobs/job_types/labs/research/senior.dm | 1 + .../jobs/job_types/labs/security/highsec.dm | 2 + .../jobs/job_types/labs/security/lowsec.dm | 2 + .../jobs/job_types/labs/support/chef.dm | 1 + .../jobs/job_types/labs/support/engineer.dm | 1 + .../jobs/job_types/labs/support/janitor.dm | 1 + code/modules/jobs/job_types/manager.dm | 1 + .../jobs/job_types/mentor/trainingofficer.dm | 1 + code/modules/jobs/job_types/rcorp/command.dm | 1 + .../jobs/job_types/rcorp/fifthpack/officer.dm | 1 + .../jobs/job_types/rcorp/fifthpack/raccoon.dm | 2 + .../jobs/job_types/rcorp/fifthpack/rat.dm | 2 + .../job_types/rcorp/fifthpack/roadrunner.dm | 2 + .../jobs/job_types/rcorp/fifthpack/rooster.dm | 2 + code/modules/jobs/job_types/rcorp/officer.dm | 1 + code/modules/jobs/job_types/rcorp/rabbit.dm | 2 + code/modules/jobs/job_types/rcorp/raven.dm | 2 + code/modules/jobs/job_types/rcorp/reindeer.dm | 2 + code/modules/jobs/job_types/rcorp/rhino.dm | 2 + code/modules/jobs/job_types/suppression.dm | 2 + .../trusted_players/association/associate.dm | 1 + .../trusted_players/association/director.dm | 1 + .../trusted_players/association/roaming.dm | 2 +- .../trusted_players/association/veteran.dm | 1 + .../jobs/job_types/trusted_players/hana.dm | 2 + .../trusted_players/representative.dm | 1 + .../job_types/trusted_players/sephirah.dm | 1 + code/modules/jobs/job_types/wcorp/wcorpl1.dm | 1 + code/modules/jobs/job_types/wcorp/wcorpl2.dm | 2 +- code/modules/jobs/job_types/wcorp/wcorpl3.dm | 2 +- .../jobs/job_types/wcorp/wcorprecon.dm | 2 +- code/modules/jobs/job_types/wcorp/wcorprep.dm | 1 + .../jobs/job_types/wcorp/wcorpshield.dm | 1 + .../jobs/job_types/wcorp/wcorpspear.dm | 1 + code/modules/jobs/jobs.dm | 121 ++++++------------ code/modules/mob/dead/crew_manifest.dm | 9 +- lobotomy-corp13.dme | 1 + .../tgui/styles/interfaces/CrewManifest.scss | 9 +- 90 files changed, 280 insertions(+), 102 deletions(-) create mode 100644 code/__DEFINES/~lobotomy_defines/jobs.dm diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm index e98b83f2bf7a..906e807b673c 100644 --- a/code/__DEFINES/jobs.dm +++ b/code/__DEFINES/jobs.dm @@ -12,6 +12,15 @@ #define JOB_DISPLAY_ORDER_DEFAULT 0 +#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) + //Command #define JOB_DISPLAY_ORDER_MANAGER 1 #define JOB_DISPLAY_ORDER_SEPHIRAH 2 diff --git a/code/__DEFINES/~lobotomy_defines/jobs.dm b/code/__DEFINES/~lobotomy_defines/jobs.dm new file mode 100644 index 000000000000..036da0956ddc --- /dev/null +++ b/code/__DEFINES/~lobotomy_defines/jobs.dm @@ -0,0 +1,79 @@ +#define DEPARTMENT_W_CORP (1<<10) +#define DEPARTMENT_R_CORP (1<<11) +#define DEPARTMENT_HANA (1<<12) +#define DEPARTMENT_ASSOCIATION (1<<13) +#define DEPARTMENT_SYNDICATE (1<<13) + +GLOBAL_LIST_INIT(w_corp_positions, list( + "W-Corp Representative", + "W-Corp L3 Squad Captain", + "W-Corp L2 Type A Lieutenant", + "W-Corp L2 Type B Support Agent", + "W-Corp L2 Type C Weapon Specialist", + "W-Corp L2 Type D Spear Agent", + "W-Corp L1 Cleanup Agent", +)) + +GLOBAL_LIST_INIT(r_corp_positions, list( + "Ground Commander", + "Lieutenant Commander", + "Operations Officer", + "Rabbit Squad Captain", + "Reindeer Squad Captain", + "Rhino Squad Captain", + "Raven Squad Captain", + + // R-Corp Fourth Pack + "R-Corp Suppressive Rabbit", + "R-Corp Assault Rabbit", + "R-Corp Medical Reindeer", + "R-Corp Berserker Reindeer", + "R-Corp Gunner Rhino", + "R-Corp Hammer Rhino", + "R-Corp Scout Raven", + "R-Corp Support Raven", + + // Fifth Pack + "R-Corp Rat", + "R-Corp Rooster", + "R-Corp Raccoon Spy", + "R-Corp Raccoon Sniper", + "R-Corp Roadrunner", +)) + +GLOBAL_LIST_INIT(hana_positions, list( + "Hana Administrator", + "Hana Representative", + "Hana Intern", +)) + +GLOBAL_LIST_INIT(association_positions, list( + "Association Section Director", + "Association Veteran", + "Association Fixer", + "Roaming Association Fixer", +)) + +GLOBAL_LIST_INIT(syndicate_positions, list( + "Index Messenger", + "Index Proxy", + "Index Proselyte", + + "Blade Lineage Cutthroat", + "Blade Lineage Salsu", + "Blade Lineage Ronin", + "Blade Lineage Roaming Salsu", + + "Grand Inquisitor", + "N Corp Grosshammer", + "N Corp Mittlehammer", + "N Corp Kleinhammer", + + "Thumb Sottocapo", + "Thumb Capo", + "Thumb Soldato", + + "Kurokumo Kashira", + "Kurokumo Hosa", + "Kurokumo Wakashu", +)) diff --git a/code/controllers/subsystem/maptype.dm b/code/controllers/subsystem/maptype.dm index bcdf86aabd82..71b66ed208f3 100644 --- a/code/controllers/subsystem/maptype.dm +++ b/code/controllers/subsystem/maptype.dm @@ -44,12 +44,18 @@ SUBSYSTEM_DEF(maptype) //Badda Bing Badda Da. This makes the latejoin menu cleaner switch(SSmaptype.maptype) - if("wonderlabs", "city", "fixers") - departments = list("Command", "Security", "Service", "Science") + if("wonderlabs") + departments = list("Command", "Security", "Service") + if("city") + departments = list("Command", "Hana", "Association", "Syndicate", "Medical", "Security", "Service") + if("fixers") + departments = list("Command", "Hana", "Association", "Syndicate", "Medical", "Security", "Service") if("limbus_labs") - departments = list("Command", "Security","Medical", "Science", "Service" ) - if("rcorp", "wcorp") - departments = list("Command", "Security") + departments = list("Command", "Security", "Medical", "Science", "Engineering", "Service" ) + if("rcorp") + departments = list("Command", "R Corp", "Medical") + if("wcorp") + departments = list("Command", "W Corp") var/list/all_jobs = subtypesof(/datum/job) if(!all_jobs.len) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 4b1b7dad31fd..c395a4038649 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -148,7 +148,14 @@ "Science", "Supply", "Service", - "Silicon" + "Silicon", + // LOBOTOMYCORPORATION ADDITION START + "W Corp", + "R Corp", + "Hana", + "Association", + "Syndicate", + // LOBOTOMYCORPORATION ADDITION END ) var/list/departments = list( "Command" = GLOB.command_positions, @@ -158,7 +165,14 @@ "Science" = GLOB.science_positions, "Supply" = GLOB.supply_positions, "Service" = GLOB.service_positions, - "Silicon" = GLOB.nonhuman_positions + "Silicon" = GLOB.nonhuman_positions, + // LOBOTOMYCORPORATION ADDITION START + "W Corp" = GLOB.w_corp_positions, + "R Corp" = GLOB.r_corp_positions, + "Hana" = GLOB.hana_positions, + "Association" = GLOB.association_positions, + "Syndicate" = GLOB.syndicate_positions, + // LOBOTOMYCORPORATION ADDITION END ) for(var/datum/data/record/t in GLOB.data_core.general) var/name = t.fields["name"] diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index 3023103a5daa..bfb9171ccbe9 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -79,6 +79,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/agent.dm b/code/modules/jobs/job_types/agent.dm index 9fff451173c5..6f3528d72010 100644 --- a/code/modules/jobs/job_types/agent.dm +++ b/code/modules/jobs/job_types/agent.dm @@ -18,6 +18,7 @@ minimal_access = list() allow_bureaucratic_error = FALSE + departments = DEPARTMENT_SECURITY job_important = "You are a L-Corp Agent. Your job is to work on and suppress Abnormalities. Use :h to talk on your departmental radio." diff --git a/code/modules/jobs/job_types/assistant.dm b/code/modules/jobs/job_types/assistant.dm index 1d4d4edea64b..1160d2ac6d79 100644 --- a/code/modules/jobs/job_types/assistant.dm +++ b/code/modules/jobs/job_types/assistant.dm @@ -10,13 +10,15 @@ GLOBAL_LIST_EMPTY(spawned_clerks) spawn_positions = 0 supervisors = "absolutely everyone" selection_color = "#dddddd" - access = list(ACCESS_ROBOTICS) //See /datum/job/assistant/get_access() - minimal_access = list(ACCESS_ROBOTICS) //See /datum/job/assistant/get_access() - // Let their be bot maintenance! + outfit = /datum/outfit/job/assistant - antag_rep = 7 //persistant currency but currently unusable + antag_rep = 7 // Persistant currency but currently unusable display_order = JOB_DISPLAY_ORDER_CLERK + access = list(ACCESS_ROBOTICS) // Let their be bot maintenance! + minimal_access = list(ACCESS_ROBOTICS) + departments = DEPARTMENT_SERVICE + liver_traits = list(TRAIT_GREYTIDE_METABOLISM) allow_bureaucratic_error = FALSE diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm index a0b2cf991a54..02b692664024 100644 --- a/code/modules/jobs/job_types/captain.dm +++ b/code/modules/jobs/job_types/captain.dm @@ -9,6 +9,7 @@ display_order = JOB_DISPLAY_ORDER_CAPTAIN access = list(ACCESS_COMMAND) // LC13:To-Do + departments = DEPARTMENT_COMMAND | DEPARTMENT_SECURITY exp_requirements = 6000 exp_type = EXP_TYPE_CREW exp_type_department = EXP_TYPE_SECURITY diff --git a/code/modules/jobs/job_types/city/HHPP.dm b/code/modules/jobs/job_types/city/HHPP.dm index fdfead9b9aa9..8114efd265ed 100644 --- a/code/modules/jobs/job_types/city/HHPP.dm +++ b/code/modules/jobs/job_types/city/HHPP.dm @@ -10,6 +10,7 @@ HHPP Employee selection_color = "#dddddd" access = list(ACCESS_KITCHEN) minimal_access = list(ACCESS_KITCHEN) + departments = DEPARTMENT_SERVICE outfit = /datum/outfit/job/chef antag_rep = 7 display_order = JOB_DISPLAY_ORDER_HHPP diff --git a/code/modules/jobs/job_types/city/backstreets_butcher.dm b/code/modules/jobs/job_types/city/backstreets_butcher.dm index 126b72b52209..8a9d28edf681 100644 --- a/code/modules/jobs/job_types/city/backstreets_butcher.dm +++ b/code/modules/jobs/job_types/city/backstreets_butcher.dm @@ -10,6 +10,7 @@ Backstreets Butcher selection_color = "#555555" access = list(ACCESS_GENETICS) minimal_access = list(ACCESS_GENETICS) + departments = DEPARTMENT_SERVICE // They can provide you a service, before you're eaten outfit = /datum/outfit/job/butcher display_order = JOB_DISPLAY_ORDER_ANTAG exp_requirements = 300 diff --git a/code/modules/jobs/job_types/city/carnival.dm b/code/modules/jobs/job_types/city/carnival.dm index 55a09ab271cd..dba2c423f386 100644 --- a/code/modules/jobs/job_types/city/carnival.dm +++ b/code/modules/jobs/job_types/city/carnival.dm @@ -7,6 +7,7 @@ selection_color = "#555555" access = list(ACCESS_CARGO) minimal_access = list(ACCESS_CARGO) + departments = DEPARTMENT_SERVICE | DEPARTMENT_SECURITY outfit = /datum/outfit/job/carnival display_order = JOB_DISPLAY_ORDER_ANTAG exp_requirements = 300 diff --git a/code/modules/jobs/job_types/city/civilian.dm b/code/modules/jobs/job_types/city/civilian.dm index 801f52791902..6e426f68a662 100644 --- a/code/modules/jobs/job_types/city/civilian.dm +++ b/code/modules/jobs/job_types/city/civilian.dm @@ -10,10 +10,10 @@ Civilian selection_color = "#dddddd" access = list(ACCESS_LAWYER) minimal_access = list(ACCESS_LAWYER) + departments = DEPARTMENT_SERVICE outfit = /datum/outfit/job/civilian antag_rep = 7 display_order = JOB_DISPLAY_ORDER_CIVILIAN - allow_bureaucratic_error = FALSE maptype = list("city", "fixers") paycheck = 170 diff --git a/code/modules/jobs/job_types/city/doctor.dm b/code/modules/jobs/job_types/city/doctor.dm index 9f47de055408..b0c8f44a4129 100644 --- a/code/modules/jobs/job_types/city/doctor.dm +++ b/code/modules/jobs/job_types/city/doctor.dm @@ -9,6 +9,7 @@ access = list(ACCESS_MEDICAL) minimal_access = list(ACCESS_MEDICAL) + departments = DEPARTMENT_COMMAND | DEPARTMENT_MEDICAL paycheck = PAYCHECK_MEDIUM paycheck_department = ACCOUNT_MED @@ -126,6 +127,7 @@ exp_requirements = 180 display_order = JOB_DISPLAY_ORDER_MEDICALASSIST + departments = DEPARTMENT_MEDICAL | DEPARTMENT_SECURITY maptype = list("wonderlabs", "city", "fixers") job_important = "You are an a medical fixer. Your job is to explore the backstreets to grab dead fixers to bring back to the clinic." diff --git a/code/modules/jobs/job_types/city/fixer/east.dm b/code/modules/jobs/job_types/city/fixer/east.dm index aa0eb47f6df1..db0f8af796cc 100644 --- a/code/modules/jobs/job_types/city/fixer/east.dm +++ b/code/modules/jobs/job_types/city/fixer/east.dm @@ -15,6 +15,7 @@ trusted_only = TRUE access = list(ACCESS_MINING_STATION, ACCESS_RC_ANNOUNCE) // East office is 54 minimal_access = list(ACCESS_MINING_STATION, ACCESS_RC_ANNOUNCE) + departments = DEPARTMENT_COMMAND | DEPARTMENT_SECURITY maptype = list("city-small", "wonderlabs") job_attribute_limit = 80 @@ -66,6 +67,7 @@ display_order = JOB_DISPLAY_ORDER_FIXER access = list(ACCESS_MINING_STATION) minimal_access = list(ACCESS_MINING_STATION) + departments = DEPARTMENT_SECURITY maptype = "wonderlabs" job_attribute_limit = 60 diff --git a/code/modules/jobs/job_types/city/fixer/north.dm b/code/modules/jobs/job_types/city/fixer/north.dm index 92b0ab620c65..d85c68ab1b60 100644 --- a/code/modules/jobs/job_types/city/fixer/north.dm +++ b/code/modules/jobs/job_types/city/fixer/north.dm @@ -13,8 +13,9 @@ display_order = JOB_DISPLAY_ORDER_FIXERLEAD paycheck = 100 trusted_only = TRUE - access = list(ACCESS_XENOBIOLOGY, ACCESS_RC_ANNOUNCE) // Numero 55 + access = list(ACCESS_XENOBIOLOGY, ACCESS_RC_ANNOUNCE) minimal_access = list(ACCESS_XENOBIOLOGY, ACCESS_RC_ANNOUNCE) + departments = DEPARTMENT_COMMAND | DEPARTMENT_SECURITY maptype = list("city-small", "wonderlabs") job_attribute_limit = 80 @@ -66,6 +67,7 @@ display_order = JOB_DISPLAY_ORDER_FIXER access = list(ACCESS_XENOBIOLOGY) minimal_access = list(ACCESS_XENOBIOLOGY) + departments = DEPARTMENT_SECURITY maptype = "wonderlabs" job_attribute_limit = 60 diff --git a/code/modules/jobs/job_types/city/misc/blade_lineage_misc.dm b/code/modules/jobs/job_types/city/misc/blade_lineage_misc.dm index e19cdd8a9bf4..4f8cd58b39e4 100644 --- a/code/modules/jobs/job_types/city/misc/blade_lineage_misc.dm +++ b/code/modules/jobs/job_types/city/misc/blade_lineage_misc.dm @@ -11,6 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEGOON access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) + departments = DEPARTMENT_SYNDICATE paycheck = 150 maptype = list("city") job_important = "You belong to the Blade Lineage, a band of wandering swordsmen. \ diff --git a/code/modules/jobs/job_types/city/prosthetic.dm b/code/modules/jobs/job_types/city/prosthetic.dm index e0a6cf809ad0..d3d6d90f72ba 100644 --- a/code/modules/jobs/job_types/city/prosthetic.dm +++ b/code/modules/jobs/job_types/city/prosthetic.dm @@ -9,6 +9,7 @@ access = list(ACCESS_GENETICS) minimal_access = list(ACCESS_GENETICS) + departments = DEPARTMENT_MEDICAL | DEPARTMENT_SERVICE paycheck = 700 //You need a lot of money paycheck_department = ACCOUNT_MED diff --git a/code/modules/jobs/job_types/city/rat.dm b/code/modules/jobs/job_types/city/rat.dm index 040fe7f98cce..2304130d7c20 100644 --- a/code/modules/jobs/job_types/city/rat.dm +++ b/code/modules/jobs/job_types/city/rat.dm @@ -10,6 +10,7 @@ Scavenger selection_color = "#555555" access = list(ACCESS_LAWYER) minimal_access = list(ACCESS_LAWYER) + departments = DEPARTMENT_SECURITY // Close enough outfit = /datum/outfit/job/scavenger antag_rep = 7 display_order = JOB_DISPLAY_ORDER_ANTAG diff --git a/code/modules/jobs/job_types/city/syndicate/blade_lineage/cutthroat.dm b/code/modules/jobs/job_types/city/syndicate/blade_lineage/cutthroat.dm index 1b342796ec8b..29e295773b0e 100644 --- a/code/modules/jobs/job_types/city/syndicate/blade_lineage/cutthroat.dm +++ b/code/modules/jobs/job_types/city/syndicate/blade_lineage/cutthroat.dm @@ -12,6 +12,7 @@ trusted_only = TRUE access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) minimal_access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) + departments = DEPARTMENT_COMMAND | DEPARTMENT_SYNDICATE paycheck = 700 maptype = list("city") job_important = "This is a roleplay role. You are the leader of this band of wandering swordsmen. \ diff --git a/code/modules/jobs/job_types/city/syndicate/blade_lineage/salsu.dm b/code/modules/jobs/job_types/city/syndicate/blade_lineage/salsu.dm index 92f078cb6501..0365ee3b3775 100644 --- a/code/modules/jobs/job_types/city/syndicate/blade_lineage/salsu.dm +++ b/code/modules/jobs/job_types/city/syndicate/blade_lineage/salsu.dm @@ -11,6 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEGOON access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) + departments = DEPARTMENT_SYNDICATE paycheck = 150 maptype = list("city") job_important = "You belong to the Blade Lineage, a band of wandering swordsmen. \ diff --git a/code/modules/jobs/job_types/city/syndicate/index/messenger.dm b/code/modules/jobs/job_types/city/syndicate/index/messenger.dm index 4ff29876e109..ece5355bca8f 100644 --- a/code/modules/jobs/job_types/city/syndicate/index/messenger.dm +++ b/code/modules/jobs/job_types/city/syndicate/index/messenger.dm @@ -12,6 +12,7 @@ trusted_only = TRUE access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) minimal_access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) + departments = DEPARTMENT_COMMAND | DEPARTMENT_SYNDICATE paycheck = 700 maptype = list("city") job_important = "This is a roleplay role. You are the leader of this index branch. You are not inherently hostile. \ diff --git a/code/modules/jobs/job_types/city/syndicate/index/proselyte.dm b/code/modules/jobs/job_types/city/syndicate/index/proselyte.dm index fe189c97ec98..64f1ff73e6d9 100644 --- a/code/modules/jobs/job_types/city/syndicate/index/proselyte.dm +++ b/code/modules/jobs/job_types/city/syndicate/index/proselyte.dm @@ -11,6 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEGOON access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) + departments = DEPARTMENT_SYNDICATE paycheck = 100 maptype = list("city") job_important = "You are an initiate in the Index syndicate. You are not inherently hostile. \ diff --git a/code/modules/jobs/job_types/city/syndicate/index/proxy.dm b/code/modules/jobs/job_types/city/syndicate/index/proxy.dm index b63c670fc13e..6e06da59ed8f 100644 --- a/code/modules/jobs/job_types/city/syndicate/index/proxy.dm +++ b/code/modules/jobs/job_types/city/syndicate/index/proxy.dm @@ -12,6 +12,7 @@ trusted_only = TRUE access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) minimal_access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) + departments = DEPARTMENT_SYNDICATE paycheck = 200 maptype = list("city") job_important = "You are a veteran in the Index syndicate. You are not inherently hostile. \ diff --git a/code/modules/jobs/job_types/city/syndicate/kurokumo/blade_ronin.dm b/code/modules/jobs/job_types/city/syndicate/kurokumo/blade_ronin.dm index 1a90cd3f07d8..43b5ad2f1f69 100644 --- a/code/modules/jobs/job_types/city/syndicate/kurokumo/blade_ronin.dm +++ b/code/modules/jobs/job_types/city/syndicate/kurokumo/blade_ronin.dm @@ -12,6 +12,7 @@ trusted_only = TRUE access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) minimal_access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) + departments = DEPARTMENT_SYNDICATE paycheck = 700 maptype = list("city") job_important = "You are not apart of Kurokumo Clan. \ diff --git a/code/modules/jobs/job_types/city/syndicate/kurokumo/captain.dm b/code/modules/jobs/job_types/city/syndicate/kurokumo/captain.dm index 57415b917312..fef8ffc9c03e 100644 --- a/code/modules/jobs/job_types/city/syndicate/kurokumo/captain.dm +++ b/code/modules/jobs/job_types/city/syndicate/kurokumo/captain.dm @@ -12,6 +12,7 @@ trusted_only = TRUE access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) minimal_access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) + departments = DEPARTMENT_COMMAND | DEPARTMENT_SYNDICATE paycheck = 700 maptype = list("city") job_important = "This is a roleplay role. You are the leader of this kurokumo branch. \ diff --git a/code/modules/jobs/job_types/city/syndicate/kurokumo/enforcer.dm b/code/modules/jobs/job_types/city/syndicate/kurokumo/enforcer.dm index 23c89f4fb6ca..0486fafae882 100644 --- a/code/modules/jobs/job_types/city/syndicate/kurokumo/enforcer.dm +++ b/code/modules/jobs/job_types/city/syndicate/kurokumo/enforcer.dm @@ -11,6 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEVET access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) + departments = DEPARTMENT_SYNDICATE paycheck = 200 maptype = list("city") job_important = "You are an enforcer in the Kurokumo clan. You are to be respectful and follow orders from the Kashira. Not doing either will result in death. \ diff --git a/code/modules/jobs/job_types/city/syndicate/kurokumo/wakashu.dm b/code/modules/jobs/job_types/city/syndicate/kurokumo/wakashu.dm index fd8f49011a8a..30cd4074b8ed 100644 --- a/code/modules/jobs/job_types/city/syndicate/kurokumo/wakashu.dm +++ b/code/modules/jobs/job_types/city/syndicate/kurokumo/wakashu.dm @@ -11,6 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEGOON access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) + departments = DEPARTMENT_SYNDICATE paycheck = 100 maptype = list("city") job_important = "You are a soldier in the Kurokumo Clan. You are to follow orders from your Kashira. Not doing either will result in death." diff --git a/code/modules/jobs/job_types/city/syndicate/ncorp/grandinquis.dm b/code/modules/jobs/job_types/city/syndicate/ncorp/grandinquis.dm index 974f4e1e5299..2413ab0688b0 100644 --- a/code/modules/jobs/job_types/city/syndicate/ncorp/grandinquis.dm +++ b/code/modules/jobs/job_types/city/syndicate/ncorp/grandinquis.dm @@ -12,6 +12,7 @@ trusted_only = TRUE access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) minimal_access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) + departments = DEPARTMENT_COMMAND | DEPARTMENT_SYNDICATE paycheck = 700 maptype = list("city") job_important = "This is a roleplay role. You are the leader of this NCorp inquisition. \ diff --git a/code/modules/jobs/job_types/city/syndicate/ncorp/grosshammer.dm b/code/modules/jobs/job_types/city/syndicate/ncorp/grosshammer.dm index 34143327478f..74950835c187 100644 --- a/code/modules/jobs/job_types/city/syndicate/ncorp/grosshammer.dm +++ b/code/modules/jobs/job_types/city/syndicate/ncorp/grosshammer.dm @@ -11,6 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEVET access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) + departments = DEPARTMENT_SYNDICATE paycheck = 70 maptype = list("city") job_important = "You are an NCorp grosshammer. Your main goal is to kill and maim all prosthetic users. \ diff --git a/code/modules/jobs/job_types/city/syndicate/ncorp/kleinhammer.dm b/code/modules/jobs/job_types/city/syndicate/ncorp/kleinhammer.dm index 707be83dfd6c..25c2c0c7b5fc 100644 --- a/code/modules/jobs/job_types/city/syndicate/ncorp/kleinhammer.dm +++ b/code/modules/jobs/job_types/city/syndicate/ncorp/kleinhammer.dm @@ -11,6 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEGOON access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) + departments = DEPARTMENT_SYNDICATE paycheck = 10 maptype = list("city") job_important = "You are an NCorp kleinhammer. Your main goal is to kill and maim all prosthetic users. \ diff --git a/code/modules/jobs/job_types/city/syndicate/ncorp/mittlehammer.dm b/code/modules/jobs/job_types/city/syndicate/ncorp/mittlehammer.dm index 0d973183df67..5c3d1b9c698c 100644 --- a/code/modules/jobs/job_types/city/syndicate/ncorp/mittlehammer.dm +++ b/code/modules/jobs/job_types/city/syndicate/ncorp/mittlehammer.dm @@ -11,6 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEGOON access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) + departments = DEPARTMENT_SYNDICATE paycheck = 70 maptype = list("city") job_important = "You are an NCorp Mittlehammer. Your main goal is to kill and maim all prosthetic users. \ diff --git a/code/modules/jobs/job_types/city/syndicate/thumb/capo.dm b/code/modules/jobs/job_types/city/syndicate/thumb/capo.dm index 7ecb9e7d6445..fcca19764424 100644 --- a/code/modules/jobs/job_types/city/syndicate/thumb/capo.dm +++ b/code/modules/jobs/job_types/city/syndicate/thumb/capo.dm @@ -11,6 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEVET access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) + departments = DEPARTMENT_SYNDICATE paycheck = 200 maptype = list("city") job_important = "You are a lieutenant in the Thumb Syndicate. You are to be respectful and follow orders from the sottocapo. Not doing either will result in death. \ diff --git a/code/modules/jobs/job_types/city/syndicate/thumb/soldato.dm b/code/modules/jobs/job_types/city/syndicate/thumb/soldato.dm index 297bc53409d3..284c19853bdc 100644 --- a/code/modules/jobs/job_types/city/syndicate/thumb/soldato.dm +++ b/code/modules/jobs/job_types/city/syndicate/thumb/soldato.dm @@ -11,6 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEGOON access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) + departments = DEPARTMENT_SYNDICATE paycheck = 100 maptype = list("city") job_important = "You are a soldier in the Thumb Syndicate. You are to stay quiet and follow orders from your capo and sottocapo. Not doing either will result in death." diff --git a/code/modules/jobs/job_types/city/syndicate/thumb/sottocapo.dm b/code/modules/jobs/job_types/city/syndicate/thumb/sottocapo.dm index f20f3d81abbd..bd449ba75097 100644 --- a/code/modules/jobs/job_types/city/syndicate/thumb/sottocapo.dm +++ b/code/modules/jobs/job_types/city/syndicate/thumb/sottocapo.dm @@ -12,6 +12,7 @@ trusted_only = TRUE access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) minimal_access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) + departments = DEPARTMENT_COMMAND | DEPARTMENT_SYNDICATE paycheck = 700 maptype = list("city") job_important = "This is a roleplay role. You are the leader of this thumb branch. Your goal is to make money and riches, and exert the thumb's will. \ diff --git a/code/modules/jobs/job_types/city/workshop.dm b/code/modules/jobs/job_types/city/workshop.dm index b6b22ec62fc3..8a897bfd4f88 100644 --- a/code/modules/jobs/job_types/city/workshop.dm +++ b/code/modules/jobs/job_types/city/workshop.dm @@ -8,8 +8,9 @@ Workshop employee spawn_positions = 2 supervisors = "no one but god." selection_color = "#dddddd" - access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP) //10 + access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP) minimal_access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP) + departments = DEPARTMENT_SERVICE outfit = /datum/outfit/job/workshop antag_rep = 7 display_order = JOB_DISPLAY_ORDER_CIVILIAN diff --git a/code/modules/jobs/job_types/command.dm b/code/modules/jobs/job_types/command.dm index 42d744cb3d4a..8214316d82a3 100644 --- a/code/modules/jobs/job_types/command.dm +++ b/code/modules/jobs/job_types/command.dm @@ -32,6 +32,8 @@ access = list(ACCESS_COMMAND) // LC13:To-Do minimal_access = list(ACCESS_COMMAND) + departments = DEPARTMENT_COMMAND + mapexclude = list("mini") job_important = "You are the Extraction Officer. Your job is to manage the EGO console, Extraction purchase console, and power generation system. Your main goal is to ensure Agents are well-equipped with EGO." diff --git a/code/modules/jobs/job_types/gimmick/fishing.dm b/code/modules/jobs/job_types/gimmick/fishing.dm index 83760f8e54b9..7653a161e5ac 100644 --- a/code/modules/jobs/job_types/gimmick/fishing.dm +++ b/code/modules/jobs/job_types/gimmick/fishing.dm @@ -11,6 +11,7 @@ outfit = /datum/outfit/job/fishing display_order = JOB_DISPLAY_ORDER_FIXER + departments = DEPARTMENT_SERVICE job_important = "You are a fishing office fixer, hired by L-Corp. You're on this facility to get everyone fresh fish! To start fishing use the fishing rod on a body of water." job_notice = "To start fishing, use your fishing rod on a body of water." diff --git a/code/modules/jobs/job_types/gimmick/wonderlabs/departmentcaptain.dm b/code/modules/jobs/job_types/gimmick/wonderlabs/departmentcaptain.dm index 8563a29823e1..bda61976afab 100644 --- a/code/modules/jobs/job_types/gimmick/wonderlabs/departmentcaptain.dm +++ b/code/modules/jobs/job_types/gimmick/wonderlabs/departmentcaptain.dm @@ -25,6 +25,7 @@ GLOBAL_LIST_INIT(captain_departments, list( access = list() minimal_access = list() + departments = DEPARTMENT_SECURITY allow_bureaucratic_error = FALSE diff --git a/code/modules/jobs/job_types/gimmick/wonderlabs/departmenthead.dm b/code/modules/jobs/job_types/gimmick/wonderlabs/departmenthead.dm index 5b37c52475c4..8887280fddb1 100644 --- a/code/modules/jobs/job_types/gimmick/wonderlabs/departmenthead.dm +++ b/code/modules/jobs/job_types/gimmick/wonderlabs/departmenthead.dm @@ -25,6 +25,7 @@ GLOBAL_LIST_INIT(head_departments, list( access = list(ACCESS_COMMAND) minimal_access = list(ACCESS_COMMAND) + departments = DEPARTMENT_COMMAND | DEPARTMENT_SECURITY allow_bureaucratic_error = FALSE diff --git a/code/modules/jobs/job_types/labs/command/assetprot.dm b/code/modules/jobs/job_types/labs/command/assetprot.dm index b7905b4bd8c1..396abad4969d 100644 --- a/code/modules/jobs/job_types/labs/command/assetprot.dm +++ b/code/modules/jobs/job_types/labs/command/assetprot.dm @@ -10,6 +10,7 @@ access = list(ACCESS_ARMORY, ACCESS_SECURITY, ACCESS_RND, ACCESS_MEDICAL, ACCESS_COMMAND, ACCESS_MANAGER) minimal_access = list(ACCESS_ARMORY, ACCESS_SECURITY, ACCESS_RND, ACCESS_MEDICAL, ACCESS_COMMAND, ACCESS_MANAGER) + departments = DEPARTMENT_COMMAND job_attribute_limit = 0 diff --git a/code/modules/jobs/job_types/labs/command/command.dm b/code/modules/jobs/job_types/labs/command/command.dm index c732ddf3ddd8..a14a26c7be41 100644 --- a/code/modules/jobs/job_types/labs/command/command.dm +++ b/code/modules/jobs/job_types/labs/command/command.dm @@ -10,6 +10,7 @@ access = list(ACCESS_ARMORY, ACCESS_SECURITY, ACCESS_RND, ACCESS_MEDICAL, ACCESS_COMMAND, ACCESS_MANAGER) minimal_access = list(ACCESS_ARMORY, ACCESS_SECURITY, ACCESS_RND, ACCESS_MEDICAL, ACCESS_COMMAND, ACCESS_MANAGER) + departments = DEPARTMENT_COMMAND job_attribute_limit = 0 diff --git a/code/modules/jobs/job_types/labs/command/commandsec.dm b/code/modules/jobs/job_types/labs/command/commandsec.dm index ec2f178a5e38..78e3aed20411 100644 --- a/code/modules/jobs/job_types/labs/command/commandsec.dm +++ b/code/modules/jobs/job_types/labs/command/commandsec.dm @@ -9,6 +9,7 @@ selection_color = "#555555" access = list(ACCESS_ARMORY, ACCESS_SECURITY, ACCESS_RND, ACCESS_MEDICAL, ACCESS_COMMAND) //See /datum/job/assistant/get_access() minimal_access = list(ACCESS_ARMORY, ACCESS_SECURITY, ACCESS_RND, ACCESS_MEDICAL, ACCESS_COMMAND) //See /datum/job/assistant/get_access() + departments = DEPARTMENT_SECURITY outfit = /datum/outfit/job/damage_mitigation_officer display_order = 4 @@ -62,6 +63,7 @@ selection_color = "#555555" access = list(ACCESS_ARMORY, ACCESS_SECURITY, ACCESS_RND, ACCESS_MEDICAL, ACCESS_COMMAND) //See /datum/job/assistant/get_access() minimal_access = list(ACCESS_ARMORY, ACCESS_SECURITY, ACCESS_RND, ACCESS_MEDICAL, ACCESS_COMMAND) //See /datum/job/assistant/get_access() + departments = DEPARTMENT_SECURITY outfit = /datum/outfit/job/damage_exasperation_officer display_order = 4.1 @@ -115,6 +117,7 @@ selection_color = "#555555" access = list(ACCESS_ARMORY, ACCESS_SECURITY, ACCESS_RND, ACCESS_MEDICAL, ACCESS_COMMAND) minimal_access = list(ACCESS_ARMORY, ACCESS_SECURITY, ACCESS_RND, ACCESS_MEDICAL, ACCESS_COMMAND) + departments = DEPARTMENT_SECURITY outfit = /datum/outfit/job/internal_police display_order = 3 diff --git a/code/modules/jobs/job_types/labs/command/infotech.dm b/code/modules/jobs/job_types/labs/command/infotech.dm index 70c500a7774c..eddfca60b225 100644 --- a/code/modules/jobs/job_types/labs/command/infotech.dm +++ b/code/modules/jobs/job_types/labs/command/infotech.dm @@ -10,6 +10,7 @@ access = list(ACCESS_RND, ACCESS_NETWORK) minimal_access = list(ACCESS_RND, ACCESS_NETWORK) + departments = DEPARTMENT_SCIENCE job_attribute_limit = 0 diff --git a/code/modules/jobs/job_types/labs/medical/chemist.dm b/code/modules/jobs/job_types/labs/medical/chemist.dm index 0ef3d9d81a46..7e122abf3d03 100644 --- a/code/modules/jobs/job_types/labs/medical/chemist.dm +++ b/code/modules/jobs/job_types/labs/medical/chemist.dm @@ -13,6 +13,7 @@ access = list(ACCESS_MEDICAL, ACCESS_PHARMACY) minimal_access = list(ACCESS_MEDICAL, ACCESS_PHARMACY) + departments = DEPARTMENT_MEDICAL job_attribute_limit = 0 diff --git a/code/modules/jobs/job_types/labs/medical/cmo.dm b/code/modules/jobs/job_types/labs/medical/cmo.dm index 92ee317a591f..15dfc995122e 100644 --- a/code/modules/jobs/job_types/labs/medical/cmo.dm +++ b/code/modules/jobs/job_types/labs/medical/cmo.dm @@ -11,6 +11,7 @@ access = list(ACCESS_MEDICAL, ACCESS_COMMAND, ACCESS_ARMORY, ACCESS_SECURITY) minimal_access = list(ACCESS_MEDICAL, ACCESS_COMMAND, ACCESS_ARMORY, ACCESS_SECURITY) + departments = DEPARTMENT_COMMAND | DEPARTMENT_MEDICAL job_attribute_limit = 0 diff --git a/code/modules/jobs/job_types/labs/medical/nurse.dm b/code/modules/jobs/job_types/labs/medical/nurse.dm index 4cad3a48d5f2..e3d5eef07235 100644 --- a/code/modules/jobs/job_types/labs/medical/nurse.dm +++ b/code/modules/jobs/job_types/labs/medical/nurse.dm @@ -14,6 +14,7 @@ access = list(ACCESS_MEDICAL) minimal_access = list(ACCESS_MEDICAL) + departments = DEPARTMENT_MEDICAL job_attribute_limit = 0 diff --git a/code/modules/jobs/job_types/labs/medical/paramedic.dm b/code/modules/jobs/job_types/labs/medical/paramedic.dm index 9b2f00b3bf26..9003b654c16f 100644 --- a/code/modules/jobs/job_types/labs/medical/paramedic.dm +++ b/code/modules/jobs/job_types/labs/medical/paramedic.dm @@ -13,6 +13,7 @@ access = list(ACCESS_MEDICAL, ACCESS_ARMORY, ACCESS_SECURITY) minimal_access = list(ACCESS_MEDICAL, ACCESS_ARMORY, ACCESS_SECURITY) + departments = DEPARTMENT_MEDICAL job_attribute_limit = 0 diff --git a/code/modules/jobs/job_types/labs/medical/surgeon.dm b/code/modules/jobs/job_types/labs/medical/surgeon.dm index e5573d6f2e7a..45fec4cb1b0e 100644 --- a/code/modules/jobs/job_types/labs/medical/surgeon.dm +++ b/code/modules/jobs/job_types/labs/medical/surgeon.dm @@ -13,6 +13,7 @@ access = list(ACCESS_MEDICAL) minimal_access = list(ACCESS_MEDICAL) + departments = DEPARTMENT_MEDICAL job_attribute_limit = 0 diff --git a/code/modules/jobs/job_types/labs/research/clerk.dm b/code/modules/jobs/job_types/labs/research/clerk.dm index fa38897eb97f..a2ad3c65beb3 100644 --- a/code/modules/jobs/job_types/labs/research/clerk.dm +++ b/code/modules/jobs/job_types/labs/research/clerk.dm @@ -11,6 +11,7 @@ access = list() //No Acess minimal_access = list() + departments = DEPARTMENT_SCIENCE job_attribute_limit = 0 diff --git a/code/modules/jobs/job_types/labs/research/lead.dm b/code/modules/jobs/job_types/labs/research/lead.dm index 1b7c6895d461..c97945b9ed6d 100644 --- a/code/modules/jobs/job_types/labs/research/lead.dm +++ b/code/modules/jobs/job_types/labs/research/lead.dm @@ -10,6 +10,7 @@ access = list(ACCESS_RND, ACCESS_COMMAND, ACCESS_ARMORY, ACCESS_SECURITY) minimal_access = list(ACCESS_RND, ACCESS_COMMAND, ACCESS_ARMORY, ACCESS_SECURITY) + departments = DEPARTMENT_COMMAND | DEPARTMENT_SCIENCE job_attribute_limit = 0 diff --git a/code/modules/jobs/job_types/labs/research/paperwork.dm b/code/modules/jobs/job_types/labs/research/paperwork.dm index 528bcd6446e0..e0257f99a98c 100644 --- a/code/modules/jobs/job_types/labs/research/paperwork.dm +++ b/code/modules/jobs/job_types/labs/research/paperwork.dm @@ -10,6 +10,7 @@ access = list(ACCESS_RND, ACCESS_COMMAND) minimal_access = list(ACCESS_RND, ACCESS_COMMAND) + departments = DEPARTMENT_SCIENCE job_attribute_limit = 0 diff --git a/code/modules/jobs/job_types/labs/research/researcher.dm b/code/modules/jobs/job_types/labs/research/researcher.dm index 17c595115598..c549230d9abc 100644 --- a/code/modules/jobs/job_types/labs/research/researcher.dm +++ b/code/modules/jobs/job_types/labs/research/researcher.dm @@ -10,6 +10,7 @@ access = list(ACCESS_RND) minimal_access = list(ACCESS_RND) + departments = DEPARTMENT_SCIENCE job_attribute_limit = 0 diff --git a/code/modules/jobs/job_types/labs/research/senior.dm b/code/modules/jobs/job_types/labs/research/senior.dm index 3117c41edd5a..97e52b8c558f 100644 --- a/code/modules/jobs/job_types/labs/research/senior.dm +++ b/code/modules/jobs/job_types/labs/research/senior.dm @@ -10,6 +10,7 @@ access = list(ACCESS_RND) minimal_access = list(ACCESS_RND) + departments = DEPARTMENT_SCIENCE job_attribute_limit = 0 diff --git a/code/modules/jobs/job_types/labs/security/highsec.dm b/code/modules/jobs/job_types/labs/security/highsec.dm index d969b1867d78..08ebf8026a1f 100644 --- a/code/modules/jobs/job_types/labs/security/highsec.dm +++ b/code/modules/jobs/job_types/labs/security/highsec.dm @@ -9,6 +9,7 @@ selection_color = "#cf5979" access = list(ACCESS_ARMORY) //See /datum/job/assistant/get_access() minimal_access = list(ACCESS_ARMORY) //See /datum/job/assistant/get_access() + departments = DEPARTMENT_SECURITY outfit = /datum/outfit/job/high_sec_officer display_order = 9.5 @@ -59,6 +60,7 @@ selection_color = "#99314d" access = list(ACCESS_ARMORY, ACCESS_COMMAND) //See /datum/job/assistant/get_access() minimal_access = list(ACCESS_ARMORY, ACCESS_COMMAND) //See /datum/job/assistant/get_access() + departments = DEPARTMENT_COMMAND | DEPARTMENT_SECURITY outfit = /datum/outfit/job/high_sec_commander display_order = 9 diff --git a/code/modules/jobs/job_types/labs/security/lowsec.dm b/code/modules/jobs/job_types/labs/security/lowsec.dm index 01cdd21640fb..b90028faff6d 100644 --- a/code/modules/jobs/job_types/labs/security/lowsec.dm +++ b/code/modules/jobs/job_types/labs/security/lowsec.dm @@ -9,6 +9,7 @@ selection_color = "#6571a6" access = list(ACCESS_SECURITY) //See /datum/job/assistant/get_access() minimal_access = list(ACCESS_SECURITY) //See /datum/job/assistant/get_access() + departments = DEPARTMENT_SECURITY outfit = /datum/outfit/job/low_sec_officer display_order = 8.5 @@ -60,6 +61,7 @@ selection_color = "#444d75" access = list(ACCESS_SECURITY, ACCESS_COMMAND) //See /datum/job/assistant/get_access() minimal_access = list(ACCESS_SECURITY, ACCESS_COMMAND) //See /datum/job/assistant/get_access() + departments = DEPARTMENT_COMMAND | DEPARTMENT_SECURITY outfit = /datum/outfit/job/low_sec_commander display_order = 8 diff --git a/code/modules/jobs/job_types/labs/support/chef.dm b/code/modules/jobs/job_types/labs/support/chef.dm index 6f03309e6905..8d1f49d0b415 100644 --- a/code/modules/jobs/job_types/labs/support/chef.dm +++ b/code/modules/jobs/job_types/labs/support/chef.dm @@ -10,6 +10,7 @@ access = list() minimal_access = list() + departments = DEPARTMENT_SERVICE job_attribute_limit = 0 diff --git a/code/modules/jobs/job_types/labs/support/engineer.dm b/code/modules/jobs/job_types/labs/support/engineer.dm index 194994e449a9..37c231610d1c 100644 --- a/code/modules/jobs/job_types/labs/support/engineer.dm +++ b/code/modules/jobs/job_types/labs/support/engineer.dm @@ -10,6 +10,7 @@ access = list(ACCESS_SECURITY, ACCESS_ARMORY, ACCESS_CONSTRUCTION) minimal_access = list(ACCESS_SECURITY, ACCESS_ARMORY, ACCESS_CONSTRUCTION) + departments = DEPARTMENT_ENGINEERING job_attribute_limit = 0 diff --git a/code/modules/jobs/job_types/labs/support/janitor.dm b/code/modules/jobs/job_types/labs/support/janitor.dm index f8f6a9cb2328..441b6c129ba9 100644 --- a/code/modules/jobs/job_types/labs/support/janitor.dm +++ b/code/modules/jobs/job_types/labs/support/janitor.dm @@ -10,6 +10,7 @@ access = list() minimal_access = list() + departments = DEPARTMENT_SERVICE job_attribute_limit = 0 diff --git a/code/modules/jobs/job_types/manager.dm b/code/modules/jobs/job_types/manager.dm index e322467ba172..5a67f4cf3f3b 100644 --- a/code/modules/jobs/job_types/manager.dm +++ b/code/modules/jobs/job_types/manager.dm @@ -16,6 +16,7 @@ access = list(ACCESS_COMMAND, ACCESS_MANAGER) // LC13:To-Do minimal_access = list(ACCESS_COMMAND, ACCESS_MANAGER) + departments = DEPARTMENT_COMMAND job_attribute_limit = 60 roundstart_attributes = list(FORTITUDE_ATTRIBUTE, PRUDENCE_ATTRIBUTE = 60, TEMPERANCE_ATTRIBUTE, JUSTICE_ATTRIBUTE) diff --git a/code/modules/jobs/job_types/mentor/trainingofficer.dm b/code/modules/jobs/job_types/mentor/trainingofficer.dm index febab963a9f2..613eee293d51 100644 --- a/code/modules/jobs/job_types/mentor/trainingofficer.dm +++ b/code/modules/jobs/job_types/mentor/trainingofficer.dm @@ -8,6 +8,7 @@ display_order = JOB_DISPLAY_ORDER_COMMAND access = list(ACCESS_COMMAND) + departments = DEPARTMENT_COMMAND exp_requirements = 0 exp_type = EXP_TYPE_CREW exp_type_department = EXP_TYPE_SECURITY diff --git a/code/modules/jobs/job_types/rcorp/command.dm b/code/modules/jobs/job_types/rcorp/command.dm index 8d179632cfbc..ab8670ee1260 100644 --- a/code/modules/jobs/job_types/rcorp/command.dm +++ b/code/modules/jobs/job_types/rcorp/command.dm @@ -17,6 +17,7 @@ access = list(ACCESS_ARMORY, ACCESS_RND, ACCESS_COMMAND, ACCESS_MEDICAL, ACCESS_MANAGER) minimal_access = list(ACCESS_ARMORY, ACCESS_RND, ACCESS_COMMAND, ACCESS_MEDICAL, ACCESS_MANAGER) + departments = DEPARTMENT_COMMAND | DEPARTMENT_R_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 100, diff --git a/code/modules/jobs/job_types/rcorp/fifthpack/officer.dm b/code/modules/jobs/job_types/rcorp/fifthpack/officer.dm index 749a07001da4..8be0fbb6dafe 100644 --- a/code/modules/jobs/job_types/rcorp/fifthpack/officer.dm +++ b/code/modules/jobs/job_types/rcorp/fifthpack/officer.dm @@ -21,6 +21,7 @@ ) access = list(ACCESS_COMMAND) minimal_access = (ACCESS_COMMAND) + departments = DEPARTMENT_COMMAND | DEPARTMENT_R_CORP rank_title = "LT" job_important = "You are a support and command role in Rcorp. Advise the Commander, Run requisitions and then deploy." job_notice = "Run the Requisitions, assist Rcorp personnel on the base. After deployment, use your beacon to select which class you'd like." diff --git a/code/modules/jobs/job_types/rcorp/fifthpack/raccoon.dm b/code/modules/jobs/job_types/rcorp/fifthpack/raccoon.dm index e9709246e779..7040aab749bd 100644 --- a/code/modules/jobs/job_types/rcorp/fifthpack/raccoon.dm +++ b/code/modules/jobs/job_types/rcorp/fifthpack/raccoon.dm @@ -14,6 +14,7 @@ access = list() minimal_access = list() + departments = DEPARTMENT_R_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 40, @@ -60,6 +61,7 @@ access = list(ACCESS_COMMAND) minimal_access = list(ACCESS_COMMAND) + departments = DEPARTMENT_COMMAND | DEPARTMENT_R_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 60, diff --git a/code/modules/jobs/job_types/rcorp/fifthpack/rat.dm b/code/modules/jobs/job_types/rcorp/fifthpack/rat.dm index 5697e81d58a1..377d3b3c3761 100644 --- a/code/modules/jobs/job_types/rcorp/fifthpack/rat.dm +++ b/code/modules/jobs/job_types/rcorp/fifthpack/rat.dm @@ -13,6 +13,7 @@ access = list() minimal_access = list() + departments = DEPARTMENT_R_CORP | DEPARTMENT_MEDICAL roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 60, @@ -52,6 +53,7 @@ access = list(ACCESS_COMMAND) minimal_access = list(ACCESS_COMMAND) + departments = DEPARTMENT_COMMAND | DEPARTMENT_R_CORP | DEPARTMENT_MEDICAL roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 80, diff --git a/code/modules/jobs/job_types/rcorp/fifthpack/roadrunner.dm b/code/modules/jobs/job_types/rcorp/fifthpack/roadrunner.dm index 48a6a3a3b207..387a3cc2627f 100644 --- a/code/modules/jobs/job_types/rcorp/fifthpack/roadrunner.dm +++ b/code/modules/jobs/job_types/rcorp/fifthpack/roadrunner.dm @@ -14,6 +14,7 @@ access = list() minimal_access = list() + departments = DEPARTMENT_R_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 50, @@ -48,6 +49,7 @@ access = list(ACCESS_COMMAND) minimal_access = list(ACCESS_COMMAND) + departments = DEPARTMENT_COMMAND | DEPARTMENT_R_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 70, diff --git a/code/modules/jobs/job_types/rcorp/fifthpack/rooster.dm b/code/modules/jobs/job_types/rcorp/fifthpack/rooster.dm index e7e5e01efd3c..c827993c2b2d 100644 --- a/code/modules/jobs/job_types/rcorp/fifthpack/rooster.dm +++ b/code/modules/jobs/job_types/rcorp/fifthpack/rooster.dm @@ -14,6 +14,7 @@ access = list() minimal_access = list() + departments = DEPARTMENT_R_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 100, @@ -48,6 +49,7 @@ access = list(ACCESS_COMMAND) minimal_access = list(ACCESS_COMMAND) + departments = DEPARTMENT_COMMAND | DEPARTMENT_R_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 130, diff --git a/code/modules/jobs/job_types/rcorp/officer.dm b/code/modules/jobs/job_types/rcorp/officer.dm index 4491cdf32cf6..4ed5b30a9f2c 100644 --- a/code/modules/jobs/job_types/rcorp/officer.dm +++ b/code/modules/jobs/job_types/rcorp/officer.dm @@ -21,6 +21,7 @@ ) access = list(ACCESS_COMMAND) minimal_access = (ACCESS_COMMAND) + departments = DEPARTMENT_COMMAND | DEPARTMENT_R_CORP rank_title = "LT" job_important = "You are a support and command role in Rcorp. Advise the Commander, Run requisitions and then deploy." job_notice = "Run the Requisitions, assist Rcorp personnel on the base. After deployment, use your beacon to select which class you'd like." diff --git a/code/modules/jobs/job_types/rcorp/rabbit.dm b/code/modules/jobs/job_types/rcorp/rabbit.dm index 52b59730f1e1..e7c539091b90 100644 --- a/code/modules/jobs/job_types/rcorp/rabbit.dm +++ b/code/modules/jobs/job_types/rcorp/rabbit.dm @@ -15,6 +15,7 @@ //Eat shit rabbits lol access = list() minimal_access = list() + departments = DEPARTMENT_R_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 60, @@ -58,6 +59,7 @@ access = list(ACCESS_COMMAND) minimal_access = list(ACCESS_COMMAND) + departments = DEPARTMENT_COMMAND | DEPARTMENT_R_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 80, diff --git a/code/modules/jobs/job_types/rcorp/raven.dm b/code/modules/jobs/job_types/rcorp/raven.dm index a25688e175db..96614ae1a73c 100644 --- a/code/modules/jobs/job_types/rcorp/raven.dm +++ b/code/modules/jobs/job_types/rcorp/raven.dm @@ -15,6 +15,7 @@ access = list(ACCESS_RND) minimal_access = list(ACCESS_RND) + departments = DEPARTMENT_R_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 40, @@ -66,6 +67,7 @@ access = list(ACCESS_RND, ACCESS_COMMAND) minimal_access = list(ACCESS_RND, ACCESS_COMMAND) + departments = DEPARTMENT_COMMAND | DEPARTMENT_R_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 40, diff --git a/code/modules/jobs/job_types/rcorp/reindeer.dm b/code/modules/jobs/job_types/rcorp/reindeer.dm index a411ab2d048e..f6d626283c6f 100644 --- a/code/modules/jobs/job_types/rcorp/reindeer.dm +++ b/code/modules/jobs/job_types/rcorp/reindeer.dm @@ -15,6 +15,7 @@ access = list(ACCESS_MEDICAL) minimal_access = list(ACCESS_MEDICAL) + departments = DEPARTMENT_R_CORP | DEPARTMENT_MEDICAL roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 60, @@ -66,6 +67,7 @@ access = list(ACCESS_MEDICAL, ACCESS_COMMAND) minimal_access = list(ACCESS_MEDICAL, ACCESS_COMMAND) + departments = DEPARTMENT_COMMAND | DEPARTMENT_R_CORP | DEPARTMENT_MEDICAL roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 80, diff --git a/code/modules/jobs/job_types/rcorp/rhino.dm b/code/modules/jobs/job_types/rcorp/rhino.dm index 6c325fa09fc2..0de5d1139255 100644 --- a/code/modules/jobs/job_types/rcorp/rhino.dm +++ b/code/modules/jobs/job_types/rcorp/rhino.dm @@ -15,6 +15,7 @@ access = list(ACCESS_ARMORY, ACCESS_CENT_GENERAL) minimal_access = list(ACCESS_ARMORY, ACCESS_CENT_GENERAL) + departments = DEPARTMENT_R_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 40, @@ -61,6 +62,7 @@ access = list(ACCESS_ARMORY, ACCESS_COMMAND, ACCESS_CENT_GENERAL) minimal_access = list(ACCESS_ARMORY, ACCESS_COMMAND, ACCESS_CENT_GENERAL) + departments = DEPARTMENT_COMMAND | DEPARTMENT_R_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 80, diff --git a/code/modules/jobs/job_types/suppression.dm b/code/modules/jobs/job_types/suppression.dm index 0ad10876c8ff..bdd95359e133 100644 --- a/code/modules/jobs/job_types/suppression.dm +++ b/code/modules/jobs/job_types/suppression.dm @@ -16,6 +16,7 @@ minimal_access = list() allow_bureaucratic_error = FALSE + departments = DEPARTMENT_SECURITY job_important = "You are an L-Corp Emergency Response Agent. Your job is to suppress Abnormalities. You cannot work. Use :h to talk on your departmental radio." job_abbreviation = "ERA" @@ -90,6 +91,7 @@ normal_attribute_level = 20 access = list(ACCESS_COMMAND) + departments = DEPARTMENT_COMMAND | DEPARTMENT_SECURITY exp_requirements = 6000 exp_type = EXP_TYPE_CREW exp_type_department = EXP_TYPE_SECURITY diff --git a/code/modules/jobs/job_types/trusted_players/association/associate.dm b/code/modules/jobs/job_types/trusted_players/association/associate.dm index 64367a7989ba..c0a0b84db1ed 100644 --- a/code/modules/jobs/job_types/trusted_players/association/associate.dm +++ b/code/modules/jobs/job_types/trusted_players/association/associate.dm @@ -11,6 +11,7 @@ display_order = JOB_DISPLAY_ORDER_ASSOCIATION access = list(ACCESS_NETWORK) minimal_access = list(ACCESS_NETWORK) + departments = DEPARTMENT_ASSOCIATION paycheck = 700 maptype = list("wonderlabs", "city") diff --git a/code/modules/jobs/job_types/trusted_players/association/director.dm b/code/modules/jobs/job_types/trusted_players/association/director.dm index 002cc29428b7..305c73b9e493 100644 --- a/code/modules/jobs/job_types/trusted_players/association/director.dm +++ b/code/modules/jobs/job_types/trusted_players/association/director.dm @@ -19,6 +19,7 @@ GLOBAL_LIST_INIT(association_jobs, list( trusted_only = TRUE access = list(ACCESS_PHARMACY, ACCESS_NETWORK, ACCESS_RC_ANNOUNCE) // I want to use the number 69. minimal_access = list(ACCESS_PHARMACY, ACCESS_NETWORK, ACCESS_RC_ANNOUNCE) + departments = DEPARTMENT_COMMAND | DEPARTMENT_ASSOCIATION paycheck = 700 maptype = list("wonderlabs", "city") diff --git a/code/modules/jobs/job_types/trusted_players/association/roaming.dm b/code/modules/jobs/job_types/trusted_players/association/roaming.dm index 6a720418bf5c..c8659cdc5918 100644 --- a/code/modules/jobs/job_types/trusted_players/association/roaming.dm +++ b/code/modules/jobs/job_types/trusted_players/association/roaming.dm @@ -12,10 +12,10 @@ trusted_only = TRUE access = list(ACCESS_NETWORK) minimal_access = list(ACCESS_NETWORK) + departments = DEPARTMENT_HANA paycheck = 700 maptype = list("fixers", "city") - //They actually need this for their weapons roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 100, diff --git a/code/modules/jobs/job_types/trusted_players/association/veteran.dm b/code/modules/jobs/job_types/trusted_players/association/veteran.dm index cbf31dd4c9e5..c910de7b61b1 100644 --- a/code/modules/jobs/job_types/trusted_players/association/veteran.dm +++ b/code/modules/jobs/job_types/trusted_players/association/veteran.dm @@ -12,6 +12,7 @@ trusted_only = TRUE access = list(ACCESS_NETWORK) minimal_access = list(ACCESS_NETWORK) + departments = DEPARTMENT_ASSOCIATION paycheck = 400 maptype = list("wonderlabs", "city") diff --git a/code/modules/jobs/job_types/trusted_players/hana.dm b/code/modules/jobs/job_types/trusted_players/hana.dm index 0027ab7c447a..4c49fbda8ac8 100644 --- a/code/modules/jobs/job_types/trusted_players/hana.dm +++ b/code/modules/jobs/job_types/trusted_players/hana.dm @@ -12,6 +12,7 @@ trusted_only = TRUE access = list(ACCESS_NETWORK, ACCESS_COMMAND, ACCESS_MANAGER, ACCESS_CHANGE_IDS) minimal_access = list(ACCESS_NETWORK, ACCESS_COMMAND, ACCESS_MANAGER, ACCESS_CHANGE_IDS) + departments = DEPARTMENT_HANA paycheck = 0 maptype = list("city", "fixers") job_important = "You are the city's administrator, and have a small sort of power over the local association. \ @@ -69,6 +70,7 @@ total_positions = 1 spawn_positions = 1 display_order = JOB_DISPLAY_ORDER_MANAGER + departments = DEPARTMENT_COMMAND | DEPARTMENT_HANA paycheck = 0 diff --git a/code/modules/jobs/job_types/trusted_players/representative.dm b/code/modules/jobs/job_types/trusted_players/representative.dm index ddc40b925080..16e8895bfadf 100644 --- a/code/modules/jobs/job_types/trusted_players/representative.dm +++ b/code/modules/jobs/job_types/trusted_players/representative.dm @@ -12,6 +12,7 @@ trusted_only = TRUE access = list(ACCESS_PHARMACY, ACCESS_COMMAND) // I want to use the number 69. minimal_access = list(ACCESS_PHARMACY, ACCESS_COMMAND) + departments = DEPARTMENT_COMMAND mapexclude = list("wonderlabs", "mini") job_abbreviation = "REP" diff --git a/code/modules/jobs/job_types/trusted_players/sephirah.dm b/code/modules/jobs/job_types/trusted_players/sephirah.dm index 786d9770a1db..6361f45c9f49 100644 --- a/code/modules/jobs/job_types/trusted_players/sephirah.dm +++ b/code/modules/jobs/job_types/trusted_players/sephirah.dm @@ -8,6 +8,7 @@ trusted_only = TRUE access = list(ACCESS_NETWORK, ACCESS_COMMAND, ACCESS_MANAGER) // Network is the trusted chat gamer access minimal_access = list(ACCESS_NETWORK, ACCESS_COMMAND, ACCESS_MANAGER) + departments = DEPARTMENT_COMMAND mapexclude = list("wonderlabs", "mini") job_important = "You are a roleplay role, and may not partake in combat. Assist the manager and roleplay with the agents and clerks" job_notice = "\ diff --git a/code/modules/jobs/job_types/wcorp/wcorpl1.dm b/code/modules/jobs/job_types/wcorp/wcorpl1.dm index 9048d1a398f3..94274c3df2d1 100644 --- a/code/modules/jobs/job_types/wcorp/wcorpl1.dm +++ b/code/modules/jobs/job_types/wcorp/wcorpl1.dm @@ -15,6 +15,7 @@ //yes i have been so distant consistently indifferent access = list() //add accesses as necessary minimal_access = list() + departments = DEPARTMENT_W_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 60, diff --git a/code/modules/jobs/job_types/wcorp/wcorpl2.dm b/code/modules/jobs/job_types/wcorp/wcorpl2.dm index 8618f476f361..fd6f72e1dfe2 100644 --- a/code/modules/jobs/job_types/wcorp/wcorpl2.dm +++ b/code/modules/jobs/job_types/wcorp/wcorpl2.dm @@ -16,9 +16,9 @@ GLOBAL_LIST_INIT(l2csquads, list("Axe", "Buckler", "Cleaver", "Axe", "Buckler", outfit = /datum/outfit/job/wcorpl2 display_order = 4.5 - access = list() //add accesses as necessary minimal_access = list() + departments = DEPARTMENT_W_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 80, diff --git a/code/modules/jobs/job_types/wcorp/wcorpl3.dm b/code/modules/jobs/job_types/wcorp/wcorpl3.dm index 0115ddd2cb2a..41c8993cf504 100644 --- a/code/modules/jobs/job_types/wcorp/wcorpl3.dm +++ b/code/modules/jobs/job_types/wcorp/wcorpl3.dm @@ -17,9 +17,9 @@ GLOBAL_LIST_INIT(l3squads, list("Axe", "Buckler", "Cleaver")) outfit = /datum/outfit/job/wcorpl3 display_order = 2 - access = list() //add accesses as necessary minimal_access = list() + departments = DEPARTMENT_COMMAND | DEPARTMENT_W_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 100, diff --git a/code/modules/jobs/job_types/wcorp/wcorprecon.dm b/code/modules/jobs/job_types/wcorp/wcorprecon.dm index 9a20d830bc99..16eca5307a7f 100644 --- a/code/modules/jobs/job_types/wcorp/wcorprecon.dm +++ b/code/modules/jobs/job_types/wcorp/wcorprecon.dm @@ -15,9 +15,9 @@ GLOBAL_LIST_INIT(l2asquads, list("Axe", "Buckler", "Cleaver")) outfit = /datum/outfit/job/wcorpl2recon display_order = 3 - access = list() //add accesses as necessary minimal_access = list() + departments = DEPARTMENT_W_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 80, diff --git a/code/modules/jobs/job_types/wcorp/wcorprep.dm b/code/modules/jobs/job_types/wcorp/wcorprep.dm index 208600e78f37..e641bc8efbe8 100644 --- a/code/modules/jobs/job_types/wcorp/wcorprep.dm +++ b/code/modules/jobs/job_types/wcorp/wcorprep.dm @@ -25,6 +25,7 @@ ) access = list(ACCESS_ARMORY, ACCESS_RND, ACCESS_COMMAND, ACCESS_MEDICAL, ACCESS_MANAGER) minimal_access = list(ACCESS_ARMORY, ACCESS_RND, ACCESS_COMMAND, ACCESS_MEDICAL, ACCESS_MANAGER) + departments = DEPARTMENT_COMMAND | DEPARTMENT_W_CORP rank_title = "W-Corp Representative" job_important = "You are W-Corp's main representative, overseeing the cleanup operation. Assure that all things go smoothy for the company." job_notice = "Manage the agents at your disposal." diff --git a/code/modules/jobs/job_types/wcorp/wcorpshield.dm b/code/modules/jobs/job_types/wcorp/wcorpshield.dm index ebbf552181ea..2b6b0217b262 100644 --- a/code/modules/jobs/job_types/wcorp/wcorpshield.dm +++ b/code/modules/jobs/job_types/wcorp/wcorpshield.dm @@ -18,6 +18,7 @@ GLOBAL_LIST_INIT(l2bsquads, list("Axe", "Buckler", "Cleaver")) access = list() //add accesses as necessary minimal_access = list() + departments = DEPARTMENT_W_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 80, diff --git a/code/modules/jobs/job_types/wcorp/wcorpspear.dm b/code/modules/jobs/job_types/wcorp/wcorpspear.dm index df30d188a6be..eae373ae5f9a 100644 --- a/code/modules/jobs/job_types/wcorp/wcorpspear.dm +++ b/code/modules/jobs/job_types/wcorp/wcorpspear.dm @@ -18,6 +18,7 @@ GLOBAL_LIST_INIT(l2dsquads, list("Axe", "Buckler", "Cleaver")) access = list() //add accesses as necessary minimal_access = list() + departments = DEPARTMENT_W_CORP roundstart_attributes = list( FORTITUDE_ATTRIBUTE = 80, diff --git a/code/modules/jobs/jobs.dm b/code/modules/jobs/jobs.dm index e325f43840df..19c017683af6 100644 --- a/code/modules/jobs/jobs.dm +++ b/code/modules/jobs/jobs.dm @@ -1,3 +1,4 @@ +// LOBOTOMYCORPORATION EDIT -- This whole un-modular monstrosity GLOBAL_LIST_INIT(command_positions, list( "Manager", "Extraction Officer", @@ -9,7 +10,7 @@ GLOBAL_LIST_INIT(command_positions, list( "Department Head", "Agent Captain", - //City heads + // City heads "Doctor", "Hana Administrator", "Association Section Director", @@ -19,8 +20,7 @@ GLOBAL_LIST_INIT(command_positions, list( "Thumb Sottocapo", "Kurokumo Kashira", - - //Rcorp Fourth Pack + // R-corp Fourth Pack "Ground Commander", "Lieutenant Commander", "Operations Officer", @@ -29,7 +29,7 @@ GLOBAL_LIST_INIT(command_positions, list( "Rhino Squad Captain", "Raven Squad Captain", - //Rcorp Fifth Pack + // R-corp Fifth Pack "Assault Commander", "Base Commander", "Support Officer", @@ -38,12 +38,11 @@ GLOBAL_LIST_INIT(command_positions, list( "Raccoon Squad Leader", "Roadrunner Squad Leader", - - //Wcorp stuff + // W-corp stuff "W-Corp Representative", "W-Corp L3 Squad Captain", - //LCB Labs + // LCB Labs "District Manager", "LC Asset Protection", "Chief Medical Officer", @@ -54,40 +53,35 @@ GLOBAL_LIST_INIT(command_positions, list( GLOBAL_LIST_INIT(engineering_positions, list( + "Containment Engineer", // LCB Labs )) GLOBAL_LIST_INIT(medical_positions, list( - //LC Labs + // LCB Labs "Chief Medical Officer", "Surgeon", "Nurse Practitioner", "Pharmacist", "Emergency Medical Technician", + + // City + "Doctor", + "Nurse", + "Paramedic", + "Medical Fixer Assistant", + "Proshetics Surgeon", )) GLOBAL_LIST_INIT(science_positions, list( - "Hana Administrator", - "Hana Representative", - "Hana Intern", - "Association Section Director", - "Association Veteran", - "Association Fixer", - "Roaming Association Fixer", - "East Office Director", - "East Office Fixer", - "North Office Director", - "North Office Fixer", - - //LCB Labs + // LCB Labs "Lead Researcher", "Senior Researcher", "Information Systems Tech", "Research Archivist", "Researcher", "LC Staff", - )) @@ -100,11 +94,6 @@ GLOBAL_LIST_INIT(service_positions, list( "Agent Support Clerk", "Facility Support Clerk", - - "Doctor", - "Nurse", - "Paramedic", - "Medical Fixer Assistant", "Proshetics Surgeon", "HHPP Chef", "Civilian", @@ -115,8 +104,7 @@ GLOBAL_LIST_INIT(service_positions, list( "Fishhook Office Fixer", "Rat", - //LCB Labs - "Containment Engineer", + // LCB Labs "LC Chef", "LC Janitor", )) @@ -136,55 +124,12 @@ GLOBAL_LIST_INIT(security_positions, list( "Agent", "Agent Intern", - //R-Corp Fourth Pack - "R-Corp Suppressive Rabbit", - "R-Corp Assault Rabbit", - "R-Corp Medical Reindeer", - "R-Corp Berserker Reindeer", - "R-Corp Gunner Rhino", - "R-Corp Hammer Rhino", - "R-Corp Scout Raven", - "R-Corp Support Raven", - - //Fifth Pack - "R-Corp Rat", - "R-Corp Rooster", - "R-Corp Raccoon Spy", - "R-Corp Raccoon Sniper", - "R-Corp Roadrunner", - - //W-Corp agents - "W-Corp L2 Type A Lieutenant", - "W-Corp L2 Type B Support Agent", - "W-Corp L2 Type C Weapon Specialist", - "W-Corp L2 Type D Spear Agent", - "W-Corp L1 Cleanup Agent", - - - //Syndicates - "Index Messenger", - "Index Proxy", - "Index Proselyte", - - "Blade Lineage Cutthroat", - "Blade Lineage Salsu", - "Blade Lineage Ronin", - "Blade Lineage Roaming Salsu", - - "Grand Inquisitor", - "N Corp Grosshammer", - "N Corp Mittlehammer", - "N Corp Kleinhammer", - - "Thumb Sottocapo", - "Thumb Capo", - "Thumb Soldato", - - "Kurokumo Kashira", - "Kurokumo Hosa", - "Kurokumo Wakashu", + "East Office Director", + "East Office Fixer", + "North Office Director", + "North Office Fixer", - //LCB Labs + // LCB Labs "High Security Commander", "Low Security Commander", "High Security Officer", @@ -193,7 +138,7 @@ GLOBAL_LIST_INIT(security_positions, list( "Damage Exasperation Officer", "Internal Police", - //Fixers + // Fixers "Fixer", )) @@ -203,6 +148,13 @@ GLOBAL_LIST_INIT(nonhuman_positions, list( // job categories for rendering the late join menu GLOBAL_LIST_INIT(position_categories, list( + // LOBOTOMYCORPORATION ADDITION START + "W Corp" = list("jobs" = w_corp_positions, "color" = "#00b5ad"), + "R Corp" = list("jobs" = r_corp_positions, "color" = "#f2711c"), + "Hana" = list("jobs" = hana_positions, "color" = "#ffffff"), + "Association" = list("jobs" = association_positions, "color" = "#5baa27"), + "Syndicate" = list("jobs" = syndicate_positions, "color" = "#db2828"), + // LOBOTOMYCORPORATION ADDITION END EXP_TYPE_COMMAND = list("jobs" = command_positions, "color" = "#ccccff"), EXP_TYPE_ENGINEERING = list("jobs" = engineering_positions, "color" = "#ffeeaa"), EXP_TYPE_SUPPLY = list("jobs" = supply_positions, "color" = "#ddddff"), @@ -210,17 +162,22 @@ GLOBAL_LIST_INIT(position_categories, list( EXP_TYPE_SERVICE = list("jobs" = service_positions, "color" = "#bbe291"), EXP_TYPE_MEDICAL = list("jobs" = medical_positions, "color" = "#ffddf0"), EXP_TYPE_SCIENCE = list("jobs" = science_positions, "color" = "#ffddff"), - EXP_TYPE_SECURITY = list("jobs" = security_positions, "color" = "#ffdddd") + EXP_TYPE_SECURITY = list("jobs" = security_positions, "color" = "#ffdddd"), )) GLOBAL_LIST_INIT(exp_jobsmap, list( - EXP_TYPE_CREW = list("titles" = command_positions | engineering_positions | medical_positions | science_positions | supply_positions | security_positions | service_positions | list("AI","Cyborg")), // crew positions - EXP_TYPE_COMMAND = list("titles" = command_positions), +// LOBOTOMYCORPORATION EDIT START +// EXP_TYPE_CREW = list("titles" = command_positions | engineering_positions | medical_positions | science_positions | supply_positions | security_positions | service_positions | list("AI","Cyborg")), // crew positions +// EXP_TYPE_COMMAND = list("titles" = command_positions), + EXP_TYPE_CREW = list("titles" = command_positions | engineering_positions | medical_positions | science_positions | supply_positions | security_positions | service_positions | w_corp_positions | r_corp_positions | hana_positions | association_positions | syndicate_positions | list("AI","Cyborg")), // crew positions + EXP_TYPE_COMMAND = list("titles" = command_positions | hana_positions), +// LOBOTOMYCORPORATION EDIT END EXP_TYPE_ENGINEERING = list("titles" = engineering_positions), EXP_TYPE_MEDICAL = list("titles" = medical_positions), EXP_TYPE_SCIENCE = list("titles" = science_positions), EXP_TYPE_SUPPLY = list("titles" = supply_positions), - EXP_TYPE_SECURITY = list("titles" = security_positions), +// EXP_TYPE_SECURITY = list("titles" = security_positions), // LOBOTOMYCORPORATION EDIT OLD + EXP_TYPE_SECURITY = list("titles" = security_positions | syndicate_positions | association_positions | w_corp_positions | r_corp_positions), // LOBOTOMYCORPORATION EDIT NEW EXP_TYPE_SILICON = list("titles" = list("AI","Cyborg")), EXP_TYPE_SERVICE = list("titles" = service_positions) )) diff --git a/code/modules/mob/dead/crew_manifest.dm b/code/modules/mob/dead/crew_manifest.dm index fafed6bfee33..7cae779b9d80 100644 --- a/code/modules/mob/dead/crew_manifest.dm +++ b/code/modules/mob/dead/crew_manifest.dm @@ -35,7 +35,14 @@ list("flag" = DEPARTMENT_SCIENCE, "name" = "Science"), list("flag" = DEPARTMENT_CARGO, "name" = "Supply"), list("flag" = DEPARTMENT_SERVICE, "name" = "Service"), - list("flag" = DEPARTMENT_SILICON, "name" = "Silicon") + list("flag" = DEPARTMENT_SILICON, "name" = "Silicon"), + // LOBOTOMYCORPORATION ADDITION START + list("flag" = DEPARTMENT_W_CORP, "name" = "W Corp"), + list("flag" = DEPARTMENT_R_CORP, "name" = "R Corp"), + list("flag" = DEPARTMENT_HANA, "name" = "Hana"), + list("flag" = DEPARTMENT_ASSOCIATION, "name" = "Association"), + list("flag" = DEPARTMENT_SYNDICATE, "name" = "Syndicate"), + // LOBOTOMYCORPORATION ADDITION END ) for(var/job in SSjob.occupations) diff --git a/lobotomy-corp13.dme b/lobotomy-corp13.dme index cfb009ee9f88..45a7cd400e1a 100644 --- a/lobotomy-corp13.dme +++ b/lobotomy-corp13.dme @@ -160,6 +160,7 @@ #include "code\__DEFINES\~lobotomy_defines\_patreon.dm" #include "code\__DEFINES\~lobotomy_defines\adventure.dm" #include "code\__DEFINES\~lobotomy_defines\is_helpers.dm" +#include "code\__DEFINES\~lobotomy_defines\jobs.dm" #include "code\__DEFINES\~lobotomy_defines\weapon.dm" #include "code\__HELPERS\_lists.dm" #include "code\__HELPERS\_logging.dm" diff --git a/tgui/packages/tgui/styles/interfaces/CrewManifest.scss b/tgui/packages/tgui/styles/interfaces/CrewManifest.scss index 8291cbbd50f6..f788daa91c5e 100644 --- a/tgui/packages/tgui/styles/interfaces/CrewManifest.scss +++ b/tgui/packages/tgui/styles/interfaces/CrewManifest.scss @@ -8,7 +8,14 @@ $department_map: ( 'Science': colors.$purple, 'Supply': colors.$brown, 'Service': colors.$green, - 'Silicon': colors.$pink + 'Silicon': colors.$pink, + // LOBOTOMYCORPORATION ADDITION START + 'W Corp': colors.$teal, + 'R Corp': colors.$orange, + 'Hana': colors.$white, + 'Association': colors.$good, + 'Syndicate': colors.$bad, + // LOBOTOMYCORPORATION ADDITION END ); .CrewManifest { From 31dd9f0bfcc496554cf7a21f1b9ac7c0caf0f231 Mon Sep 17 00:00:00 2001 From: celotajstg <81999976+celotajstg@users.noreply.github.com> Date: Sun, 11 Apr 2021 20:54:47 +0300 Subject: [PATCH 03/12] Prevent negative open positions in crew manifest (#58300) * Resolve open position issues in crew manifest * Use the classes helper for multiple classes Co-authored-by: celotajstg --- code/datums/datacore.dm | 4 +- code/modules/mob/dead/crew_manifest.dm | 35 ++++++---- tgui/packages/tgui/interfaces/CrewManifest.js | 65 ++++++++++++++----- .../tgui/styles/components/Tooltip.scss | 1 + .../tgui/styles/interfaces/CrewManifest.scss | 25 +++++-- 5 files changed, 95 insertions(+), 35 deletions(-) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index c395a4038649..7242385eb7eb 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -174,6 +174,8 @@ "Syndicate" = GLOB.syndicate_positions, // LOBOTOMYCORPORATION ADDITION END ) + var/list/heads = GLOB.command_positions + list("Quartermaster") + for(var/datum/data/record/t in GLOB.data_core.general) var/name = t.fields["name"] var/rank = t.fields["rank"] @@ -185,7 +187,7 @@ if(!manifest_out[department]) manifest_out[department] = list() // Append to beginning of list if captain or department head - if (rank == "Captain" || (department != "Command" && (rank in GLOB.command_positions))) + if (rank == "Captain" || (department != "Command" && (rank in heads))) manifest_out[department] = list(list( "name" = name, "rank" = rank diff --git a/code/modules/mob/dead/crew_manifest.dm b/code/modules/mob/dead/crew_manifest.dm index 7cae779b9d80..511e0b17e520 100644 --- a/code/modules/mob/dead/crew_manifest.dm +++ b/code/modules/mob/dead/crew_manifest.dm @@ -18,14 +18,15 @@ /datum/crew_manifest/ui_data(mob/user) var/list/positions = list( - "Command" = 0, - "Security" = 0, - "Engineering" = 0, - "Medical" = 0, - "Science" = 0, - "Supply" = 0, - "Service" = 0, - "Silicon" = 0 + "Command" = list("exceptions" = list(), "open" = 0), + "Security" = list("exceptions" = list(), "open" = 0), + "Engineering" = list("exceptions" = list(), "open" = 0), + "Medical" = list("exceptions" = list(), "open" = 0), + "Misc" = list("exceptions" = list(), "open" = 0), + "Science" = list("exceptions" = list(), "open" = 0), + "Supply" = list("exceptions" = list(), "open" = 0), + "Service" = list("exceptions" = list(), "open" = 0), + "Silicon" = list("exceptions" = list(), "open" = 0) ) var/list/departments = list( list("flag" = DEPARTMENT_COMMAND, "name" = "Command"), @@ -46,12 +47,18 @@ ) for(var/job in SSjob.occupations) - for(var/department in departments) - // Check if the job is part of a department using its flag - // Will return true for Research Director if the department is Science or Command, for example - if(job["departments"] & department["flag"]) - // Add open positions to current department - positions[department["name"]] += (job["total_positions"] - job["current_positions"]) + // Check if there are additional open positions or if there is no limit + if ((job["total_positions"] > 0 && job["total_positions"] > job["current_positions"]) || (job["total_positions"] == -1)) + for(var/department in departments) + // Check if the job is part of a department using its flag + // Will return true for Research Director if the department is Science or Command, for example + if(job["departments"] & department["flag"]) + if(job["total_positions"] == -1) + // Add job to list of exceptions, meaning it does not have a position limit + positions[department["name"]]["exceptions"] += list(job["title"]) + else + // Add open positions to current department + positions[department["name"]]["open"] += (job["total_positions"] - job["current_positions"]) return list( "manifest" = GLOB.data_core.get_manifest(), diff --git a/tgui/packages/tgui/interfaces/CrewManifest.js b/tgui/packages/tgui/interfaces/CrewManifest.js index fa109d900656..f9a2a88e719c 100644 --- a/tgui/packages/tgui/interfaces/CrewManifest.js +++ b/tgui/packages/tgui/interfaces/CrewManifest.js @@ -1,9 +1,9 @@ +import { classes } from 'common/react'; import { useBackend } from "../backend"; -import { Icon, Section, Table } from "../components"; +import { Icon, Section, Table, Tooltip } from "../components"; import { Window } from "../layouts"; const commandJobs = [ - "Captain", "Head of Personnel", "Head of Security", "Chief Engineer", @@ -17,12 +17,13 @@ export const CrewManifest = (props, context) => { return ( - {Object.entries(manifest).map(([department, crew]) => ( + {Object.entries(manifest).map(([dept, crew]) => (
@@ -32,24 +33,56 @@ export const CrewManifest = (props, context) => { {crewMember.name} + {positions[dept].exceptions.includes(crewMember.rank) && ( + + + + )} + {crewMember.rank === "Captain" && ( + + + + )} {commandJobs.includes(crewMember.rank) && ( + className={classes([ + "CrewManifest__Icon", + "CrewManifest__Icon--Command", + "CrewManifest__Icon--Chevron", + ])} + name="chevron-up" + > + + )} {crewMember.rank} diff --git a/tgui/packages/tgui/styles/components/Tooltip.scss b/tgui/packages/tgui/styles/components/Tooltip.scss index 0ef766b694d0..5c041bb12632 100644 --- a/tgui/packages/tgui/styles/components/Tooltip.scss +++ b/tgui/packages/tgui/styles/components/Tooltip.scss @@ -16,6 +16,7 @@ $border-radius: base.$border-radius !default; left: 0; right: 0; bottom: 0; + font-family: Verdana, sans-serif; font-style: normal; font-weight: normal; diff --git a/tgui/packages/tgui/styles/interfaces/CrewManifest.scss b/tgui/packages/tgui/styles/interfaces/CrewManifest.scss index f788daa91c5e..3d37d6d9a91a 100644 --- a/tgui/packages/tgui/styles/interfaces/CrewManifest.scss +++ b/tgui/packages/tgui/styles/interfaces/CrewManifest.scss @@ -5,6 +5,7 @@ $department_map: ( 'Security': colors.$red, 'Engineering': colors.$orange, 'Medical': colors.$teal, + 'Misc': colors.$white, 'Science': colors.$purple, 'Supply': colors.$brown, 'Service': colors.$green, @@ -35,14 +36,30 @@ $department_map: ( &__Cell { padding: 3px 0; - &--Captain { - color: colors.$yellow; - padding: 3px 8px; + &--Rank { + color: colors.$label; + } + } + + &__Icons { + padding: 3px 9px; + text-align: right; + } + + &__Icon { + color: colors.$label; + position: relative; + + &:not(:last-child) { + margin-right: 7px; + } + + &--Chevron { + padding-right: 2px; } &--Command { color: colors.$yellow; - padding: 3px 9px; } } } From 99de1cd3fc05d5f088d72d54524becf1c95ef801 Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Thu, 2 Jan 2025 07:04:40 +0100 Subject: [PATCH 04/12] fixes, and adds icons to all command jobs on the crew manifest --- code/__DEFINES/~lobotomy_defines/jobs.dm | 14 ++++- code/controllers/subsystem/maptype.dm | 2 +- code/modules/mob/dead/crew_manifest.dm | 21 +++++--- tgui/packages/tgui/interfaces/CrewManifest.js | 53 +++++++++++++++++++ 4 files changed, 80 insertions(+), 10 deletions(-) diff --git a/code/__DEFINES/~lobotomy_defines/jobs.dm b/code/__DEFINES/~lobotomy_defines/jobs.dm index 036da0956ddc..4617d41f1028 100644 --- a/code/__DEFINES/~lobotomy_defines/jobs.dm +++ b/code/__DEFINES/~lobotomy_defines/jobs.dm @@ -15,6 +15,7 @@ GLOBAL_LIST_INIT(w_corp_positions, list( )) GLOBAL_LIST_INIT(r_corp_positions, list( + // 4th Pack Command "Ground Commander", "Lieutenant Commander", "Operations Officer", @@ -23,7 +24,16 @@ GLOBAL_LIST_INIT(r_corp_positions, list( "Rhino Squad Captain", "Raven Squad Captain", - // R-Corp Fourth Pack + // 5th Pack Command + "Assault Commander", + "Base Commander", + "Support Officer", + "Rat Squad Leader", + "Rooster Squad Leader", + "Raccoon Squad Leader", + "Roadrunner Squad Leader", + + // 4th Pack troops "R-Corp Suppressive Rabbit", "R-Corp Assault Rabbit", "R-Corp Medical Reindeer", @@ -33,7 +43,7 @@ GLOBAL_LIST_INIT(r_corp_positions, list( "R-Corp Scout Raven", "R-Corp Support Raven", - // Fifth Pack + // 5th Pack troops "R-Corp Rat", "R-Corp Rooster", "R-Corp Raccoon Spy", diff --git a/code/controllers/subsystem/maptype.dm b/code/controllers/subsystem/maptype.dm index 71b66ed208f3..2b9c139533a3 100644 --- a/code/controllers/subsystem/maptype.dm +++ b/code/controllers/subsystem/maptype.dm @@ -49,7 +49,7 @@ SUBSYSTEM_DEF(maptype) if("city") departments = list("Command", "Hana", "Association", "Syndicate", "Medical", "Security", "Service") if("fixers") - departments = list("Command", "Hana", "Association", "Syndicate", "Medical", "Security", "Service") + departments = list("Command", "Hana", "Association", "Medical", "Service") if("limbus_labs") departments = list("Command", "Security", "Medical", "Science", "Engineering", "Service" ) if("rcorp") diff --git a/code/modules/mob/dead/crew_manifest.dm b/code/modules/mob/dead/crew_manifest.dm index 511e0b17e520..7daff7f083b5 100644 --- a/code/modules/mob/dead/crew_manifest.dm +++ b/code/modules/mob/dead/crew_manifest.dm @@ -18,6 +18,13 @@ /datum/crew_manifest/ui_data(mob/user) var/list/positions = list( + // LOBOTOMYCORPORATION ADDITION START + "W Corp" = list("exceptions" = list(), "open" = 0), + "R Corp" = list("exceptions" = list(), "open" = 0), + "Hana" = list("exceptions" = list(), "open" = 0), + "Association" = list("exceptions" = list(), "open" = 0), + "Syndicate" = list("exceptions" = list(), "open" = 0), + // LOBOTOMYCORPORATION ADDITION END "Command" = list("exceptions" = list(), "open" = 0), "Security" = list("exceptions" = list(), "open" = 0), "Engineering" = list("exceptions" = list(), "open" = 0), @@ -29,6 +36,13 @@ "Silicon" = list("exceptions" = list(), "open" = 0) ) var/list/departments = list( + // LOBOTOMYCORPORATION ADDITION START + list("flag" = DEPARTMENT_W_CORP, "name" = "W Corp"), + list("flag" = DEPARTMENT_R_CORP, "name" = "R Corp"), + list("flag" = DEPARTMENT_HANA, "name" = "Hana"), + list("flag" = DEPARTMENT_ASSOCIATION, "name" = "Association"), + list("flag" = DEPARTMENT_SYNDICATE, "name" = "Syndicate"), + // LOBOTOMYCORPORATION ADDITION END list("flag" = DEPARTMENT_COMMAND, "name" = "Command"), list("flag" = DEPARTMENT_SECURITY, "name" = "Security"), list("flag" = DEPARTMENT_ENGINEERING, "name" = "Engineering"), @@ -37,13 +51,6 @@ list("flag" = DEPARTMENT_CARGO, "name" = "Supply"), list("flag" = DEPARTMENT_SERVICE, "name" = "Service"), list("flag" = DEPARTMENT_SILICON, "name" = "Silicon"), - // LOBOTOMYCORPORATION ADDITION START - list("flag" = DEPARTMENT_W_CORP, "name" = "W Corp"), - list("flag" = DEPARTMENT_R_CORP, "name" = "R Corp"), - list("flag" = DEPARTMENT_HANA, "name" = "Hana"), - list("flag" = DEPARTMENT_ASSOCIATION, "name" = "Association"), - list("flag" = DEPARTMENT_SYNDICATE, "name" = "Syndicate"), - // LOBOTOMYCORPORATION ADDITION END ) for(var/job in SSjob.occupations) diff --git a/tgui/packages/tgui/interfaces/CrewManifest.js b/tgui/packages/tgui/interfaces/CrewManifest.js index f9a2a88e719c..7720f4134173 100644 --- a/tgui/packages/tgui/interfaces/CrewManifest.js +++ b/tgui/packages/tgui/interfaces/CrewManifest.js @@ -3,7 +3,46 @@ import { useBackend } from "../backend"; import { Icon, Section, Table, Tooltip } from "../components"; import { Window } from "../layouts"; +// LOBOTOMYCORPORATION ADDITION START +const highcommandjobs = [ + "W-Corp L3 Squad Captain", + "Ground Commander", + "Assault Commander", + "Hana Administrator", + "Association Section Director", + "Index Messenger", + "Blade Lineage Cutthroat", + "Grand Inquisitor", + "Thumb Sottocapo", + "Kurokumo Kashira", +]; +// LOBOTOMYCORPORATION ADDITION END + const commandJobs = [ +// LOBOTOMYCORPORATION ADDITION START + "Hana Representative", + "Index Proxy", + "Blade Lineage Salsu", + "N Corp Grosshammer", + "Thumb Capo", + "Kurokumo Hosa", + + "W-Corp L2 Type A Lieutenant", + + "Lieutenant Commander", + "Operations Officer", + "Rabbit Squad Captain", + "Reindeer Squad Captain", + "Rhino Squad Captain", + "Raven Squad Captain", + + "Base Commander", + "Support Officer", + "Rat Squad Leader", + "Rooster Squad Leader", + "Raccoon Squad Leader", + "Roadrunner Squad Leader", +// LOBOTOMYCORPORATION ADDITION END "Head of Personnel", "Head of Security", "Chief Engineer", @@ -61,6 +100,20 @@ export const CrewManifest = (props, context) => { /> )} + {highcommandjobs.includes(crewMember.rank) && ( // LOBOTOMYCORPORATION ADDITION START + + + + )/* LOBOTOMYCORPORATION ADDITION END (akward comment aint it) */} {commandJobs.includes(crewMember.rank) && ( Date: Thu, 2 Jan 2025 07:17:27 +0100 Subject: [PATCH 05/12] code for the bad implementation of TGUI linters-- god --- tgui/packages/tgui/interfaces/CrewManifest.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tgui/packages/tgui/interfaces/CrewManifest.js b/tgui/packages/tgui/interfaces/CrewManifest.js index 7720f4134173..c91be56197b4 100644 --- a/tgui/packages/tgui/interfaces/CrewManifest.js +++ b/tgui/packages/tgui/interfaces/CrewManifest.js @@ -42,7 +42,7 @@ const commandJobs = [ "Rooster Squad Leader", "Raccoon Squad Leader", "Roadrunner Squad Leader", -// LOBOTOMYCORPORATION ADDITION END + // LOBOTOMYCORPORATION ADDITION END "Head of Personnel", "Head of Security", "Chief Engineer", @@ -100,7 +100,8 @@ export const CrewManifest = (props, context) => { /> )} - {highcommandjobs.includes(crewMember.rank) && ( // LOBOTOMYCORPORATION ADDITION START + {/* LOBOTOMYCORPORATION ADDITION START */} + {highcommandjobs.includes(crewMember.rank) && ( { position="bottom" /> - )/* LOBOTOMYCORPORATION ADDITION END (akward comment aint it) */} + )} + {/* LOBOTOMYCORPORATION ADDITION END */} {commandJobs.includes(crewMember.rank) && ( Date: Thu, 2 Jan 2025 07:57:15 +0100 Subject: [PATCH 06/12] removes duplicate entries from the crew manifest --- code/datums/datacore.dm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 7242385eb7eb..c91bc500d12c 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -186,6 +186,21 @@ if((rank in jobs) || (true_rank in jobs)) //Tegu edit - alt job titles if(!manifest_out[department]) manifest_out[department] = list() + // LOBOTOMYCORPORATION ADDITION START + var/duplicate_found = FALSE + for(var/list/data as anything in manifest_out[department]) + if(findtext(data["name"], name) && rank == data["rank"]) + duplicate_found = TRUE + if(length(data) == 2) + data["count"] = 1 + data["count"]++ + data["name"] = "x[data["count"]] [name]" + continue + + if(duplicate_found) + has_department = TRUE + continue + // LOBOTOMYCORPORATION ADDITION END // Append to beginning of list if captain or department head if (rank == "Captain" || (department != "Command" && (rank in heads))) manifest_out[department] = list(list( From e3c5318cf644d08ec086eec2bddb4a23ba4afec7 Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Thu, 2 Jan 2025 08:21:13 +0100 Subject: [PATCH 07/12] review requests --- code/__DEFINES/~lobotomy_defines/jobs.dm | 12 ++++++++++-- code/controllers/subsystem/maptype.dm | 8 ++++---- code/datums/datacore.dm | 4 +++- code/modules/jobs/job_types/city/carnival.dm | 2 +- code/modules/jobs/job_types/city/doctor.dm | 2 +- code/modules/jobs/job_types/city/fixer/east.dm | 4 ++-- code/modules/jobs/job_types/city/fixer/north.dm | 4 ++-- .../jobs/job_types/city/misc/blade_lineage_misc.dm | 2 +- code/modules/jobs/job_types/city/rat.dm | 2 +- .../city/syndicate/blade_lineage/cutthroat.dm | 2 +- .../job_types/city/syndicate/blade_lineage/salsu.dm | 2 +- .../jobs/job_types/city/syndicate/index/messenger.dm | 2 +- .../jobs/job_types/city/syndicate/index/proselyte.dm | 2 +- .../jobs/job_types/city/syndicate/index/proxy.dm | 2 +- .../job_types/city/syndicate/kurokumo/blade_ronin.dm | 2 +- .../job_types/city/syndicate/kurokumo/captain.dm | 2 +- .../job_types/city/syndicate/kurokumo/enforcer.dm | 2 +- .../job_types/city/syndicate/kurokumo/wakashu.dm | 2 +- .../job_types/city/syndicate/ncorp/grandinquis.dm | 2 +- .../job_types/city/syndicate/ncorp/grosshammer.dm | 2 +- .../job_types/city/syndicate/ncorp/kleinhammer.dm | 2 +- .../job_types/city/syndicate/ncorp/mittlehammer.dm | 2 +- .../jobs/job_types/city/syndicate/thumb/capo.dm | 2 +- .../jobs/job_types/city/syndicate/thumb/soldato.dm | 2 +- .../jobs/job_types/city/syndicate/thumb/sottocapo.dm | 2 +- .../trusted_players/association/associate.dm | 2 +- .../job_types/trusted_players/association/roaming.dm | 2 +- .../job_types/trusted_players/association/veteran.dm | 2 +- code/modules/jobs/jobs.dm | 7 ++++--- code/modules/mob/dead/crew_manifest.dm | 4 +++- .../tgui/styles/interfaces/CrewManifest.scss | 1 + 31 files changed, 52 insertions(+), 38 deletions(-) diff --git a/code/__DEFINES/~lobotomy_defines/jobs.dm b/code/__DEFINES/~lobotomy_defines/jobs.dm index 4617d41f1028..88b0a8a288e3 100644 --- a/code/__DEFINES/~lobotomy_defines/jobs.dm +++ b/code/__DEFINES/~lobotomy_defines/jobs.dm @@ -2,7 +2,8 @@ #define DEPARTMENT_R_CORP (1<<11) #define DEPARTMENT_HANA (1<<12) #define DEPARTMENT_ASSOCIATION (1<<13) -#define DEPARTMENT_SYNDICATE (1<<13) +#define DEPARTMENT_CITY_ANTAGONIST (1<<13) +#define DEPARTMENT_FIXERS (1<<14) GLOBAL_LIST_INIT(w_corp_positions, list( "W-Corp Representative", @@ -57,6 +58,13 @@ GLOBAL_LIST_INIT(hana_positions, list( "Hana Intern", )) +GLOBAL_LIST_INIT(fixer_positions, list( + "Association Section Director", + "Association Veteran", + "Association Fixer", + "Roaming Association Fixer", +)) + GLOBAL_LIST_INIT(association_positions, list( "Association Section Director", "Association Veteran", @@ -64,7 +72,7 @@ GLOBAL_LIST_INIT(association_positions, list( "Roaming Association Fixer", )) -GLOBAL_LIST_INIT(syndicate_positions, list( +GLOBAL_LIST_INIT(city_antagonist_positions, list( "Index Messenger", "Index Proxy", "Index Proselyte", diff --git a/code/controllers/subsystem/maptype.dm b/code/controllers/subsystem/maptype.dm index 2b9c139533a3..ac8044af5626 100644 --- a/code/controllers/subsystem/maptype.dm +++ b/code/controllers/subsystem/maptype.dm @@ -36,7 +36,7 @@ SUBSYSTEM_DEF(maptype) var/list/nofear = list("limbus_labs") //What departments are we looking at - var/list/departments = list("Command","Security","Service") + var/list/departments = list("Command", "Security", "Service") /datum/controller/subsystem/maptype/Initialize() @@ -45,11 +45,11 @@ SUBSYSTEM_DEF(maptype) //Badda Bing Badda Da. This makes the latejoin menu cleaner switch(SSmaptype.maptype) if("wonderlabs") - departments = list("Command", "Security", "Service") + departments = list("Command", "Fixers", "Security", "Service") if("city") - departments = list("Command", "Hana", "Association", "Syndicate", "Medical", "Security", "Service") + departments = list("Command", "Hana", "Association", "Syndicate", "Fixers", "Medical", "Security", "Service") if("fixers") - departments = list("Command", "Hana", "Association", "Medical", "Service") + departments = list("Command", "Hana", "Association", "Fixers", "Medical", "Service") if("limbus_labs") departments = list("Command", "Security", "Medical", "Science", "Engineering", "Service" ) if("rcorp") diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index c91bc500d12c..f0578fa29285 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -155,6 +155,7 @@ "Hana", "Association", "Syndicate", + "Fixers" // LOBOTOMYCORPORATION ADDITION END ) var/list/departments = list( @@ -171,7 +172,8 @@ "R Corp" = GLOB.r_corp_positions, "Hana" = GLOB.hana_positions, "Association" = GLOB.association_positions, - "Syndicate" = GLOB.syndicate_positions, + "Syndicate" = GLOB.city_antagonist_positions, + "Fixers" = GLOB.fixer_positions, // LOBOTOMYCORPORATION ADDITION END ) var/list/heads = GLOB.command_positions + list("Quartermaster") diff --git a/code/modules/jobs/job_types/city/carnival.dm b/code/modules/jobs/job_types/city/carnival.dm index dba2c423f386..3e25d30326c4 100644 --- a/code/modules/jobs/job_types/city/carnival.dm +++ b/code/modules/jobs/job_types/city/carnival.dm @@ -7,7 +7,7 @@ selection_color = "#555555" access = list(ACCESS_CARGO) minimal_access = list(ACCESS_CARGO) - departments = DEPARTMENT_SERVICE | DEPARTMENT_SECURITY + departments = DEPARTMENT_SERVICE outfit = /datum/outfit/job/carnival display_order = JOB_DISPLAY_ORDER_ANTAG exp_requirements = 300 diff --git a/code/modules/jobs/job_types/city/doctor.dm b/code/modules/jobs/job_types/city/doctor.dm index b0c8f44a4129..24a1d2732f38 100644 --- a/code/modules/jobs/job_types/city/doctor.dm +++ b/code/modules/jobs/job_types/city/doctor.dm @@ -127,7 +127,7 @@ exp_requirements = 180 display_order = JOB_DISPLAY_ORDER_MEDICALASSIST - departments = DEPARTMENT_MEDICAL | DEPARTMENT_SECURITY + departments = DEPARTMENT_MEDICAL | DEPARTMENT_FIXERS maptype = list("wonderlabs", "city", "fixers") job_important = "You are an a medical fixer. Your job is to explore the backstreets to grab dead fixers to bring back to the clinic." diff --git a/code/modules/jobs/job_types/city/fixer/east.dm b/code/modules/jobs/job_types/city/fixer/east.dm index db0f8af796cc..19f13436fdae 100644 --- a/code/modules/jobs/job_types/city/fixer/east.dm +++ b/code/modules/jobs/job_types/city/fixer/east.dm @@ -15,7 +15,7 @@ trusted_only = TRUE access = list(ACCESS_MINING_STATION, ACCESS_RC_ANNOUNCE) // East office is 54 minimal_access = list(ACCESS_MINING_STATION, ACCESS_RC_ANNOUNCE) - departments = DEPARTMENT_COMMAND | DEPARTMENT_SECURITY + departments = DEPARTMENT_COMMAND | DEPARTMENT_FIXERS maptype = list("city-small", "wonderlabs") job_attribute_limit = 80 @@ -67,7 +67,7 @@ display_order = JOB_DISPLAY_ORDER_FIXER access = list(ACCESS_MINING_STATION) minimal_access = list(ACCESS_MINING_STATION) - departments = DEPARTMENT_SECURITY + departments = DEPARTMENT_FIXERS maptype = "wonderlabs" job_attribute_limit = 60 diff --git a/code/modules/jobs/job_types/city/fixer/north.dm b/code/modules/jobs/job_types/city/fixer/north.dm index d85c68ab1b60..f7dbca896e3e 100644 --- a/code/modules/jobs/job_types/city/fixer/north.dm +++ b/code/modules/jobs/job_types/city/fixer/north.dm @@ -15,7 +15,7 @@ trusted_only = TRUE access = list(ACCESS_XENOBIOLOGY, ACCESS_RC_ANNOUNCE) minimal_access = list(ACCESS_XENOBIOLOGY, ACCESS_RC_ANNOUNCE) - departments = DEPARTMENT_COMMAND | DEPARTMENT_SECURITY + departments = DEPARTMENT_COMMAND | DEPARTMENT_FIXERS maptype = list("city-small", "wonderlabs") job_attribute_limit = 80 @@ -67,7 +67,7 @@ display_order = JOB_DISPLAY_ORDER_FIXER access = list(ACCESS_XENOBIOLOGY) minimal_access = list(ACCESS_XENOBIOLOGY) - departments = DEPARTMENT_SECURITY + departments = DEPARTMENT_FIXERS maptype = "wonderlabs" job_attribute_limit = 60 diff --git a/code/modules/jobs/job_types/city/misc/blade_lineage_misc.dm b/code/modules/jobs/job_types/city/misc/blade_lineage_misc.dm index 4f8cd58b39e4..2bd60bb506ba 100644 --- a/code/modules/jobs/job_types/city/misc/blade_lineage_misc.dm +++ b/code/modules/jobs/job_types/city/misc/blade_lineage_misc.dm @@ -11,7 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEGOON access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) - departments = DEPARTMENT_SYNDICATE + departments = DEPARTMENT_CITY_ANTAGONIST paycheck = 150 maptype = list("city") job_important = "You belong to the Blade Lineage, a band of wandering swordsmen. \ diff --git a/code/modules/jobs/job_types/city/rat.dm b/code/modules/jobs/job_types/city/rat.dm index 2304130d7c20..84ef1ecd1f97 100644 --- a/code/modules/jobs/job_types/city/rat.dm +++ b/code/modules/jobs/job_types/city/rat.dm @@ -10,7 +10,7 @@ Scavenger selection_color = "#555555" access = list(ACCESS_LAWYER) minimal_access = list(ACCESS_LAWYER) - departments = DEPARTMENT_SECURITY // Close enough + departments = DEPARTMENT_FIXERS // Close enough outfit = /datum/outfit/job/scavenger antag_rep = 7 display_order = JOB_DISPLAY_ORDER_ANTAG diff --git a/code/modules/jobs/job_types/city/syndicate/blade_lineage/cutthroat.dm b/code/modules/jobs/job_types/city/syndicate/blade_lineage/cutthroat.dm index 29e295773b0e..5d5aff71e8bb 100644 --- a/code/modules/jobs/job_types/city/syndicate/blade_lineage/cutthroat.dm +++ b/code/modules/jobs/job_types/city/syndicate/blade_lineage/cutthroat.dm @@ -12,7 +12,7 @@ trusted_only = TRUE access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) minimal_access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) - departments = DEPARTMENT_COMMAND | DEPARTMENT_SYNDICATE + departments = DEPARTMENT_COMMAND | DEPARTMENT_CITY_ANTAGONIST paycheck = 700 maptype = list("city") job_important = "This is a roleplay role. You are the leader of this band of wandering swordsmen. \ diff --git a/code/modules/jobs/job_types/city/syndicate/blade_lineage/salsu.dm b/code/modules/jobs/job_types/city/syndicate/blade_lineage/salsu.dm index 0365ee3b3775..ee5942596a06 100644 --- a/code/modules/jobs/job_types/city/syndicate/blade_lineage/salsu.dm +++ b/code/modules/jobs/job_types/city/syndicate/blade_lineage/salsu.dm @@ -11,7 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEGOON access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) - departments = DEPARTMENT_SYNDICATE + departments = DEPARTMENT_CITY_ANTAGONIST paycheck = 150 maptype = list("city") job_important = "You belong to the Blade Lineage, a band of wandering swordsmen. \ diff --git a/code/modules/jobs/job_types/city/syndicate/index/messenger.dm b/code/modules/jobs/job_types/city/syndicate/index/messenger.dm index ece5355bca8f..bd302629c6a5 100644 --- a/code/modules/jobs/job_types/city/syndicate/index/messenger.dm +++ b/code/modules/jobs/job_types/city/syndicate/index/messenger.dm @@ -12,7 +12,7 @@ trusted_only = TRUE access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) minimal_access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) - departments = DEPARTMENT_COMMAND | DEPARTMENT_SYNDICATE + departments = DEPARTMENT_COMMAND | DEPARTMENT_CITY_ANTAGONIST paycheck = 700 maptype = list("city") job_important = "This is a roleplay role. You are the leader of this index branch. You are not inherently hostile. \ diff --git a/code/modules/jobs/job_types/city/syndicate/index/proselyte.dm b/code/modules/jobs/job_types/city/syndicate/index/proselyte.dm index 64f1ff73e6d9..f0d2c35ba245 100644 --- a/code/modules/jobs/job_types/city/syndicate/index/proselyte.dm +++ b/code/modules/jobs/job_types/city/syndicate/index/proselyte.dm @@ -11,7 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEGOON access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) - departments = DEPARTMENT_SYNDICATE + departments = DEPARTMENT_CITY_ANTAGONIST paycheck = 100 maptype = list("city") job_important = "You are an initiate in the Index syndicate. You are not inherently hostile. \ diff --git a/code/modules/jobs/job_types/city/syndicate/index/proxy.dm b/code/modules/jobs/job_types/city/syndicate/index/proxy.dm index 6e06da59ed8f..fbadddeaf960 100644 --- a/code/modules/jobs/job_types/city/syndicate/index/proxy.dm +++ b/code/modules/jobs/job_types/city/syndicate/index/proxy.dm @@ -12,7 +12,7 @@ trusted_only = TRUE access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) minimal_access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) - departments = DEPARTMENT_SYNDICATE + departments = DEPARTMENT_CITY_ANTAGONIST paycheck = 200 maptype = list("city") job_important = "You are a veteran in the Index syndicate. You are not inherently hostile. \ diff --git a/code/modules/jobs/job_types/city/syndicate/kurokumo/blade_ronin.dm b/code/modules/jobs/job_types/city/syndicate/kurokumo/blade_ronin.dm index 43b5ad2f1f69..ee1db3d46e62 100644 --- a/code/modules/jobs/job_types/city/syndicate/kurokumo/blade_ronin.dm +++ b/code/modules/jobs/job_types/city/syndicate/kurokumo/blade_ronin.dm @@ -12,7 +12,7 @@ trusted_only = TRUE access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) minimal_access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) - departments = DEPARTMENT_SYNDICATE + departments = DEPARTMENT_CITY_ANTAGONIST paycheck = 700 maptype = list("city") job_important = "You are not apart of Kurokumo Clan. \ diff --git a/code/modules/jobs/job_types/city/syndicate/kurokumo/captain.dm b/code/modules/jobs/job_types/city/syndicate/kurokumo/captain.dm index fef8ffc9c03e..7ede34354eaf 100644 --- a/code/modules/jobs/job_types/city/syndicate/kurokumo/captain.dm +++ b/code/modules/jobs/job_types/city/syndicate/kurokumo/captain.dm @@ -12,7 +12,7 @@ trusted_only = TRUE access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) minimal_access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) - departments = DEPARTMENT_COMMAND | DEPARTMENT_SYNDICATE + departments = DEPARTMENT_COMMAND | DEPARTMENT_CITY_ANTAGONIST paycheck = 700 maptype = list("city") job_important = "This is a roleplay role. You are the leader of this kurokumo branch. \ diff --git a/code/modules/jobs/job_types/city/syndicate/kurokumo/enforcer.dm b/code/modules/jobs/job_types/city/syndicate/kurokumo/enforcer.dm index 0486fafae882..02b8c40a57ba 100644 --- a/code/modules/jobs/job_types/city/syndicate/kurokumo/enforcer.dm +++ b/code/modules/jobs/job_types/city/syndicate/kurokumo/enforcer.dm @@ -11,7 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEVET access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) - departments = DEPARTMENT_SYNDICATE + departments = DEPARTMENT_CITY_ANTAGONIST paycheck = 200 maptype = list("city") job_important = "You are an enforcer in the Kurokumo clan. You are to be respectful and follow orders from the Kashira. Not doing either will result in death. \ diff --git a/code/modules/jobs/job_types/city/syndicate/kurokumo/wakashu.dm b/code/modules/jobs/job_types/city/syndicate/kurokumo/wakashu.dm index 30cd4074b8ed..3ab366a83a00 100644 --- a/code/modules/jobs/job_types/city/syndicate/kurokumo/wakashu.dm +++ b/code/modules/jobs/job_types/city/syndicate/kurokumo/wakashu.dm @@ -11,7 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEGOON access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) - departments = DEPARTMENT_SYNDICATE + departments = DEPARTMENT_CITY_ANTAGONIST paycheck = 100 maptype = list("city") job_important = "You are a soldier in the Kurokumo Clan. You are to follow orders from your Kashira. Not doing either will result in death." diff --git a/code/modules/jobs/job_types/city/syndicate/ncorp/grandinquis.dm b/code/modules/jobs/job_types/city/syndicate/ncorp/grandinquis.dm index 2413ab0688b0..6abafd320fc5 100644 --- a/code/modules/jobs/job_types/city/syndicate/ncorp/grandinquis.dm +++ b/code/modules/jobs/job_types/city/syndicate/ncorp/grandinquis.dm @@ -12,7 +12,7 @@ trusted_only = TRUE access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) minimal_access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) - departments = DEPARTMENT_COMMAND | DEPARTMENT_SYNDICATE + departments = DEPARTMENT_COMMAND | DEPARTMENT_CITY_ANTAGONIST paycheck = 700 maptype = list("city") job_important = "This is a roleplay role. You are the leader of this NCorp inquisition. \ diff --git a/code/modules/jobs/job_types/city/syndicate/ncorp/grosshammer.dm b/code/modules/jobs/job_types/city/syndicate/ncorp/grosshammer.dm index 74950835c187..a4de4038a14e 100644 --- a/code/modules/jobs/job_types/city/syndicate/ncorp/grosshammer.dm +++ b/code/modules/jobs/job_types/city/syndicate/ncorp/grosshammer.dm @@ -11,7 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEVET access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) - departments = DEPARTMENT_SYNDICATE + departments = DEPARTMENT_CITY_ANTAGONIST paycheck = 70 maptype = list("city") job_important = "You are an NCorp grosshammer. Your main goal is to kill and maim all prosthetic users. \ diff --git a/code/modules/jobs/job_types/city/syndicate/ncorp/kleinhammer.dm b/code/modules/jobs/job_types/city/syndicate/ncorp/kleinhammer.dm index 25c2c0c7b5fc..4348e6e7c739 100644 --- a/code/modules/jobs/job_types/city/syndicate/ncorp/kleinhammer.dm +++ b/code/modules/jobs/job_types/city/syndicate/ncorp/kleinhammer.dm @@ -11,7 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEGOON access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) - departments = DEPARTMENT_SYNDICATE + departments = DEPARTMENT_CITY_ANTAGONIST paycheck = 10 maptype = list("city") job_important = "You are an NCorp kleinhammer. Your main goal is to kill and maim all prosthetic users. \ diff --git a/code/modules/jobs/job_types/city/syndicate/ncorp/mittlehammer.dm b/code/modules/jobs/job_types/city/syndicate/ncorp/mittlehammer.dm index 5c3d1b9c698c..435898792f84 100644 --- a/code/modules/jobs/job_types/city/syndicate/ncorp/mittlehammer.dm +++ b/code/modules/jobs/job_types/city/syndicate/ncorp/mittlehammer.dm @@ -11,7 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEGOON access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) - departments = DEPARTMENT_SYNDICATE + departments = DEPARTMENT_CITY_ANTAGONIST paycheck = 70 maptype = list("city") job_important = "You are an NCorp Mittlehammer. Your main goal is to kill and maim all prosthetic users. \ diff --git a/code/modules/jobs/job_types/city/syndicate/thumb/capo.dm b/code/modules/jobs/job_types/city/syndicate/thumb/capo.dm index fcca19764424..7d256dbf4138 100644 --- a/code/modules/jobs/job_types/city/syndicate/thumb/capo.dm +++ b/code/modules/jobs/job_types/city/syndicate/thumb/capo.dm @@ -11,7 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEVET access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) - departments = DEPARTMENT_SYNDICATE + departments = DEPARTMENT_CITY_ANTAGONIST paycheck = 200 maptype = list("city") job_important = "You are a lieutenant in the Thumb Syndicate. You are to be respectful and follow orders from the sottocapo. Not doing either will result in death. \ diff --git a/code/modules/jobs/job_types/city/syndicate/thumb/soldato.dm b/code/modules/jobs/job_types/city/syndicate/thumb/soldato.dm index 284c19853bdc..1ad5e00bf8b3 100644 --- a/code/modules/jobs/job_types/city/syndicate/thumb/soldato.dm +++ b/code/modules/jobs/job_types/city/syndicate/thumb/soldato.dm @@ -11,7 +11,7 @@ display_order = JOB_DISPLAY_ORDER_SYNDICATEGOON access = list(ACCESS_SYNDICATE) minimal_access = list(ACCESS_SYNDICATE) - departments = DEPARTMENT_SYNDICATE + departments = DEPARTMENT_CITY_ANTAGONIST paycheck = 100 maptype = list("city") job_important = "You are a soldier in the Thumb Syndicate. You are to stay quiet and follow orders from your capo and sottocapo. Not doing either will result in death." diff --git a/code/modules/jobs/job_types/city/syndicate/thumb/sottocapo.dm b/code/modules/jobs/job_types/city/syndicate/thumb/sottocapo.dm index bd449ba75097..502613c044c7 100644 --- a/code/modules/jobs/job_types/city/syndicate/thumb/sottocapo.dm +++ b/code/modules/jobs/job_types/city/syndicate/thumb/sottocapo.dm @@ -12,7 +12,7 @@ trusted_only = TRUE access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) minimal_access = list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER) - departments = DEPARTMENT_COMMAND | DEPARTMENT_SYNDICATE + departments = DEPARTMENT_COMMAND | DEPARTMENT_CITY_ANTAGONIST paycheck = 700 maptype = list("city") job_important = "This is a roleplay role. You are the leader of this thumb branch. Your goal is to make money and riches, and exert the thumb's will. \ diff --git a/code/modules/jobs/job_types/trusted_players/association/associate.dm b/code/modules/jobs/job_types/trusted_players/association/associate.dm index c0a0b84db1ed..18459244ccc7 100644 --- a/code/modules/jobs/job_types/trusted_players/association/associate.dm +++ b/code/modules/jobs/job_types/trusted_players/association/associate.dm @@ -11,7 +11,7 @@ display_order = JOB_DISPLAY_ORDER_ASSOCIATION access = list(ACCESS_NETWORK) minimal_access = list(ACCESS_NETWORK) - departments = DEPARTMENT_ASSOCIATION + departments = DEPARTMENT_ASSOCIATION | DEPARTMENT_FIXERS paycheck = 700 maptype = list("wonderlabs", "city") diff --git a/code/modules/jobs/job_types/trusted_players/association/roaming.dm b/code/modules/jobs/job_types/trusted_players/association/roaming.dm index c8659cdc5918..787c198b1ac2 100644 --- a/code/modules/jobs/job_types/trusted_players/association/roaming.dm +++ b/code/modules/jobs/job_types/trusted_players/association/roaming.dm @@ -12,7 +12,7 @@ trusted_only = TRUE access = list(ACCESS_NETWORK) minimal_access = list(ACCESS_NETWORK) - departments = DEPARTMENT_HANA + departments = DEPARTMENT_HANA | DEPARTMENT_FIXERS paycheck = 700 maptype = list("fixers", "city") diff --git a/code/modules/jobs/job_types/trusted_players/association/veteran.dm b/code/modules/jobs/job_types/trusted_players/association/veteran.dm index c910de7b61b1..5b20095101e5 100644 --- a/code/modules/jobs/job_types/trusted_players/association/veteran.dm +++ b/code/modules/jobs/job_types/trusted_players/association/veteran.dm @@ -12,7 +12,7 @@ trusted_only = TRUE access = list(ACCESS_NETWORK) minimal_access = list(ACCESS_NETWORK) - departments = DEPARTMENT_ASSOCIATION + departments = DEPARTMENT_ASSOCIATION | DEPARTMENT_FIXERS paycheck = 400 maptype = list("wonderlabs", "city") diff --git a/code/modules/jobs/jobs.dm b/code/modules/jobs/jobs.dm index 19c017683af6..5060997fec19 100644 --- a/code/modules/jobs/jobs.dm +++ b/code/modules/jobs/jobs.dm @@ -153,7 +153,8 @@ GLOBAL_LIST_INIT(position_categories, list( "R Corp" = list("jobs" = r_corp_positions, "color" = "#f2711c"), "Hana" = list("jobs" = hana_positions, "color" = "#ffffff"), "Association" = list("jobs" = association_positions, "color" = "#5baa27"), - "Syndicate" = list("jobs" = syndicate_positions, "color" = "#db2828"), + "Syndicate" = list("jobs" = city_antagonist_positions, "color" = "#db2828"), + "Fixers" = list("jobs" = fixer_positions, "color" = "#767676"), // LOBOTOMYCORPORATION ADDITION END EXP_TYPE_COMMAND = list("jobs" = command_positions, "color" = "#ccccff"), EXP_TYPE_ENGINEERING = list("jobs" = engineering_positions, "color" = "#ffeeaa"), @@ -169,7 +170,7 @@ GLOBAL_LIST_INIT(exp_jobsmap, list( // LOBOTOMYCORPORATION EDIT START // EXP_TYPE_CREW = list("titles" = command_positions | engineering_positions | medical_positions | science_positions | supply_positions | security_positions | service_positions | list("AI","Cyborg")), // crew positions // EXP_TYPE_COMMAND = list("titles" = command_positions), - EXP_TYPE_CREW = list("titles" = command_positions | engineering_positions | medical_positions | science_positions | supply_positions | security_positions | service_positions | w_corp_positions | r_corp_positions | hana_positions | association_positions | syndicate_positions | list("AI","Cyborg")), // crew positions + EXP_TYPE_CREW = list("titles" = command_positions | engineering_positions | medical_positions | science_positions | supply_positions | security_positions | service_positions | w_corp_positions | r_corp_positions | hana_positions | association_positions | city_antagonist_positions | list("AI","Cyborg")), // crew positions EXP_TYPE_COMMAND = list("titles" = command_positions | hana_positions), // LOBOTOMYCORPORATION EDIT END EXP_TYPE_ENGINEERING = list("titles" = engineering_positions), @@ -177,7 +178,7 @@ GLOBAL_LIST_INIT(exp_jobsmap, list( EXP_TYPE_SCIENCE = list("titles" = science_positions), EXP_TYPE_SUPPLY = list("titles" = supply_positions), // EXP_TYPE_SECURITY = list("titles" = security_positions), // LOBOTOMYCORPORATION EDIT OLD - EXP_TYPE_SECURITY = list("titles" = security_positions | syndicate_positions | association_positions | w_corp_positions | r_corp_positions), // LOBOTOMYCORPORATION EDIT NEW + EXP_TYPE_SECURITY = list("titles" = security_positions | city_antagonist_positions | association_positions | w_corp_positions | r_corp_positions | fixer_positions), // LOBOTOMYCORPORATION EDIT NEW EXP_TYPE_SILICON = list("titles" = list("AI","Cyborg")), EXP_TYPE_SERVICE = list("titles" = service_positions) )) diff --git a/code/modules/mob/dead/crew_manifest.dm b/code/modules/mob/dead/crew_manifest.dm index 7daff7f083b5..7f125c955ed5 100644 --- a/code/modules/mob/dead/crew_manifest.dm +++ b/code/modules/mob/dead/crew_manifest.dm @@ -24,6 +24,7 @@ "Hana" = list("exceptions" = list(), "open" = 0), "Association" = list("exceptions" = list(), "open" = 0), "Syndicate" = list("exceptions" = list(), "open" = 0), + "Fixers" = list("exceptions" = list(), "open" = 0), // LOBOTOMYCORPORATION ADDITION END "Command" = list("exceptions" = list(), "open" = 0), "Security" = list("exceptions" = list(), "open" = 0), @@ -41,7 +42,8 @@ list("flag" = DEPARTMENT_R_CORP, "name" = "R Corp"), list("flag" = DEPARTMENT_HANA, "name" = "Hana"), list("flag" = DEPARTMENT_ASSOCIATION, "name" = "Association"), - list("flag" = DEPARTMENT_SYNDICATE, "name" = "Syndicate"), + list("flag" = DEPARTMENT_CITY_ANTAGONIST, "name" = "Syndicate"), + list("flag" = DEPARTMENT_FIXERS, "name" = "Fixers"), // LOBOTOMYCORPORATION ADDITION END list("flag" = DEPARTMENT_COMMAND, "name" = "Command"), list("flag" = DEPARTMENT_SECURITY, "name" = "Security"), diff --git a/tgui/packages/tgui/styles/interfaces/CrewManifest.scss b/tgui/packages/tgui/styles/interfaces/CrewManifest.scss index 3d37d6d9a91a..1bd608a94cf5 100644 --- a/tgui/packages/tgui/styles/interfaces/CrewManifest.scss +++ b/tgui/packages/tgui/styles/interfaces/CrewManifest.scss @@ -16,6 +16,7 @@ $department_map: ( 'Hana': colors.$white, 'Association': colors.$good, 'Syndicate': colors.$bad, + 'Fixers': colors.$grey, // LOBOTOMYCORPORATION ADDITION END ); From 43c5e8364c1d244aaaa230fc7815fd6627041cb4 Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Thu, 2 Jan 2025 08:24:07 +0100 Subject: [PATCH 08/12] fixes the fixer global list --- code/__DEFINES/~lobotomy_defines/jobs.dm | 8 ++++++++ code/modules/jobs/jobs.dm | 8 -------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/code/__DEFINES/~lobotomy_defines/jobs.dm b/code/__DEFINES/~lobotomy_defines/jobs.dm index 88b0a8a288e3..5ce7f053a474 100644 --- a/code/__DEFINES/~lobotomy_defines/jobs.dm +++ b/code/__DEFINES/~lobotomy_defines/jobs.dm @@ -59,10 +59,18 @@ GLOBAL_LIST_INIT(hana_positions, list( )) GLOBAL_LIST_INIT(fixer_positions, list( + "East Office Director", + "East Office Fixer", + "North Office Director", + "North Office Fixer", + "Association Section Director", "Association Veteran", "Association Fixer", "Roaming Association Fixer", + + "Medical Fixer Assistant", + "Fixer", )) GLOBAL_LIST_INIT(association_positions, list( diff --git a/code/modules/jobs/jobs.dm b/code/modules/jobs/jobs.dm index 5060997fec19..3311b13b3336 100644 --- a/code/modules/jobs/jobs.dm +++ b/code/modules/jobs/jobs.dm @@ -124,11 +124,6 @@ GLOBAL_LIST_INIT(security_positions, list( "Agent", "Agent Intern", - "East Office Director", - "East Office Fixer", - "North Office Director", - "North Office Fixer", - // LCB Labs "High Security Commander", "Low Security Commander", @@ -137,9 +132,6 @@ GLOBAL_LIST_INIT(security_positions, list( "Damage Mitigation Officer", "Damage Exasperation Officer", "Internal Police", - - // Fixers - "Fixer", )) From 10e4bc8452bdc3d290264c5c4560918f27422cb0 Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Thu, 2 Jan 2025 08:26:45 +0100 Subject: [PATCH 09/12] the demon core is missing a non-erroring comma --- code/datums/datacore.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index f0578fa29285..a5bec57e0841 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -155,7 +155,7 @@ "Hana", "Association", "Syndicate", - "Fixers" + "Fixers", // LOBOTOMYCORPORATION ADDITION END ) var/list/departments = list( From 24286efc94e59e0307d1e3aa95c2da281a684d77 Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Thu, 2 Jan 2025 08:30:08 +0100 Subject: [PATCH 10/12] moves rats to the fixer tab --- code/__DEFINES/~lobotomy_defines/jobs.dm | 1 + code/modules/jobs/jobs.dm | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/code/__DEFINES/~lobotomy_defines/jobs.dm b/code/__DEFINES/~lobotomy_defines/jobs.dm index 5ce7f053a474..b8910d828daa 100644 --- a/code/__DEFINES/~lobotomy_defines/jobs.dm +++ b/code/__DEFINES/~lobotomy_defines/jobs.dm @@ -71,6 +71,7 @@ GLOBAL_LIST_INIT(fixer_positions, list( "Medical Fixer Assistant", "Fixer", + "Rat", // most fitting, somehow )) GLOBAL_LIST_INIT(association_positions, list( diff --git a/code/modules/jobs/jobs.dm b/code/modules/jobs/jobs.dm index 3311b13b3336..ab91d6389ab0 100644 --- a/code/modules/jobs/jobs.dm +++ b/code/modules/jobs/jobs.dm @@ -102,7 +102,6 @@ GLOBAL_LIST_INIT(service_positions, list( "Workshop Attendant", "Main Office Representative", "Fishhook Office Fixer", - "Rat", // LCB Labs "LC Chef", From 4727090442c461dd317215ebf34477cb8b4640d0 Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Mon, 6 Jan 2025 06:53:48 +0100 Subject: [PATCH 11/12] bump --- code/modules/mob/dead/crew_manifest.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/dead/crew_manifest.dm b/code/modules/mob/dead/crew_manifest.dm index 7f125c955ed5..2ea453646452 100644 --- a/code/modules/mob/dead/crew_manifest.dm +++ b/code/modules/mob/dead/crew_manifest.dm @@ -13,7 +13,8 @@ ui.open() /datum/crew_manifest/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) - if (..()) + . = ..() + if(.) return /datum/crew_manifest/ui_data(mob/user) From f4c84a591ab3e25be130433eb5dd481d099c7f0f Mon Sep 17 00:00:00 2001 From: Gboster-0 <82319946+Gboster-0@users.noreply.github.com> Date: Mon, 6 Jan 2025 07:26:52 +0100 Subject: [PATCH 12/12] experimental patch to the runtimes --- code/modules/mob/dead/crew_manifest.dm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/code/modules/mob/dead/crew_manifest.dm b/code/modules/mob/dead/crew_manifest.dm index 2ea453646452..918f6e022914 100644 --- a/code/modules/mob/dead/crew_manifest.dm +++ b/code/modules/mob/dead/crew_manifest.dm @@ -56,6 +56,8 @@ list("flag" = DEPARTMENT_SILICON, "name" = "Silicon"), ) +// LOBOTOMYCORPORATION EDIT OLD START +/* for(var/job in SSjob.occupations) // Check if there are additional open positions or if there is no limit if ((job["total_positions"] > 0 && job["total_positions"] > job["current_positions"]) || (job["total_positions"] == -1)) @@ -69,6 +71,22 @@ else // Add open positions to current department positions[department["name"]]["open"] += (job["total_positions"] - job["current_positions"]) +*/ +// LOBOTOMYCORPORATION EDIT OLD END +// LOBOTOMYCORPORATION EDIT NEW START + for(var/datum/job/job in SSjob.occupations) + if((job.total_positions > 0 && job.total_positions > job.current_positions) || (job.total_positions == -1)) + for(var/department in departments) + // Check if the job is part of a department using its flag + // Will return true for Research Director if the department is Science or Command, for example + if(job.departments & department["flag"]) + if(job.total_positions == -1) + // Add job to list of exceptions, meaning it does not have a position limit + positions[department["name"]]["exceptions"] += list(job.title) + else + // Add open positions to current department + positions[department["name"]]["open"] += (job.total_positions - job.current_positions) +// LOBOTOMYCORPORATION EDIT NEW END return list( "manifest" = GLOB.data_core.get_manifest(),