From 1506f1a50daf9da026832c29cbfc693c5eeb5d5b Mon Sep 17 00:00:00 2001 From: RustingWithYou <63625389+RustingWithYou@users.noreply.github.com> Date: Sat, 10 Feb 2024 01:18:15 +1300 Subject: [PATCH] Departmental Event Jobs (#18245) * event jobs: the test of faith no horizon spawns engineering name fix * event jobs 2: they work now --- aurorastation.dme | 1 + code/__DEFINES/jobs.dm | 19 ++- code/game/jobs/faction/hephaestus.dm | 4 +- code/game/jobs/faction/idris.dm | 3 +- code/game/jobs/faction/orion_express.dm | 3 +- code/game/jobs/faction/pmc.dm | 4 +- code/game/jobs/faction/zavodskoi.dm | 5 +- code/game/jobs/faction/zeng_hu.dm | 4 +- code/game/jobs/job/event.dm | 121 ++++++++++++++++++ code/game/jobs/jobs.dm | 28 +++- .../loadout/items/accessories.dm | 26 ++-- .../loadout/items/augments.dm | 18 +-- .../preference_setup/loadout/items/belt.dm | 2 +- .../preference_setup/loadout/items/eyes.dm | 8 +- .../loadout/items/factions.dm | 36 +++--- .../preference_setup/loadout/items/head.dm | 8 +- .../loadout/items/religion.dm | 2 +- .../preference_setup/loadout/items/suit.dm | 6 +- .../preference_setup/loadout/items/uniform.dm | 4 +- .../preference_setup/loadout/items/utility.dm | 2 +- .../loadout/items/xeno/human.dm | 2 +- .../loadout/items/xeno/machine.dm | 2 +- .../loadout/items/xeno/skrell.dm | 2 +- .../loadout/items/xeno/tajara.dm | 6 +- .../loadout/items/xeno/unathi.dm | 8 +- .../loadout/items/xeno/vaurca.dm | 6 +- .../preference_setup/occupation/occupation.dm | 44 ++++++- code/modules/client/preferences.dm | 8 ++ .../abstract/new_player/preferences_setup.dm | 2 + html/changelogs/RustingWithYou - eventjob.yml | 41 ++++++ maps/_common/mapsystem/map.dm | 2 + 31 files changed, 340 insertions(+), 87 deletions(-) create mode 100644 code/game/jobs/job/event.dm create mode 100644 html/changelogs/RustingWithYou - eventjob.yml diff --git a/aurorastation.dme b/aurorastation.dme index c7e99aa043a..a995f57ca50 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -782,6 +782,7 @@ #include "code\game\jobs\job\captain.dm" #include "code\game\jobs\job\civilian.dm" #include "code\game\jobs\job\engineering.dm" +#include "code\game\jobs\job\event.dm" #include "code\game\jobs\job\hra.dm" #include "code\game\jobs\job\job.dm" #include "code\game\jobs\job\medical.dm" diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm index 9c3a4b34b11..4ae3cf33702 100644 --- a/code/__DEFINES/jobs.dm +++ b/code/__DEFINES/jobs.dm @@ -9,6 +9,15 @@ #define JOURNALIST_ROLE /datum/job/journalist #define CHAPLAIN_ROLE /datum/job/chaplain +//Event Roles +//Used for generic department jobs for off-ship events +#define EVENTSEC_ROLE /datum/job/eventsec +#define EVENTMED_ROLE /datum/job/eventmed +#define EVENTENG_ROLE /datum/job/eventsec +#define EVENTSCI_ROLE /datum/job/eventsci +#define EVENTOPS_ROLE /datum/job/eventops +#define EVENT_ROLES list(/datum/job/eventsec, /datum/job/eventmed, /datum/job/eventeng, /datum/job/eventsci, /datum/job/eventops) + // Departments // Used to know what roles are part of which department. // Notes on COMMAND_SUPPORT_ROLES: HRA is an admin job. Representative is under ALL_FACTION_ROLES. Consular intentionally not included as they are independent. @@ -16,14 +25,14 @@ #define COMMAND_ROLES list(/datum/job/captain, /datum/job/xo, /datum/job/chief_engineer, /datum/job/cmo, /datum/job/rd, /datum/job/hos, /datum/job/operations_manager) #define COMMAND_SUPPORT_ROLES list(/datum/job/bridge_crew) -#define SCIENCE_ROLES list(/datum/job/scientist, /datum/job/xenoarchaeologist, /datum/job/xenobiologist, /datum/job/xenobotanist, /datum/job/intern_sci) -#define MEDICAL_ROLES list(/datum/job/doctor, /datum/job/surgeon, /datum/job/pharmacist, /datum/job/psychiatrist, /datum/job/med_tech, /datum/job/intern_med) -#define ENGINEERING_ROLES list(/datum/job/engineer, /datum/job/atmos, /datum/job/intern_eng) +#define SCIENCE_ROLES list(/datum/job/scientist, /datum/job/xenoarchaeologist, /datum/job/xenobiologist, /datum/job/xenobotanist, /datum/job/intern_sci, /datum/job/eventsci) +#define MEDICAL_ROLES list(/datum/job/doctor, /datum/job/surgeon, /datum/job/pharmacist, /datum/job/psychiatrist, /datum/job/med_tech, /datum/job/intern_med, /datum/job/eventmed) +#define ENGINEERING_ROLES list(/datum/job/engineer, /datum/job/atmos, /datum/job/intern_eng, /datum/job/eventeng) #define SERVICE_ROLES list(/datum/job/chaplain, /datum/job/bartender, /datum/job/chef, /datum/job/hydro, /datum/job/janitor, /datum/job/librarian) #define CIVILIAN_ROLES list(/datum/job/assistant, /datum/job/visitor, /datum/job/journalist) #define NON_CREW_CIVILIAN_ROLES list(/datum/job/passenger, /datum/job/merchant) -#define SECURITY_ROLES list(/datum/job/warden, /datum/job/investigator, /datum/job/officer, /datum/job/intern_sec) -#define OPERATIONS_ROLES list(/datum/job/hangar_tech, /datum/job/mining, /datum/job/machinist) +#define SECURITY_ROLES list(/datum/job/warden, /datum/job/investigator, /datum/job/officer, /datum/job/intern_sec, /datum/job/eventsec) +#define OPERATIONS_ROLES list(/datum/job/hangar_tech, /datum/job/mining, /datum/job/machinist, /datum/job/eventops) #define EQUIPMENT_ROLES list(/datum/job/ai, /datum/job/cyborg) #define ALL_ROLES list(COMMAND_ROLES, COMMAND_SUPPORT_ROLES, ENGINEERING_ROLES, SERVICE_ROLES, CIVILIAN_ROLES, NON_CREW_CIVILIAN_ROLES, OPERATIONS_ROLES, MEDICAL_ROLES, SCIENCE_ROLES, SECURITY_ROLES, EQUIPMENT_ROLES) diff --git a/code/game/jobs/faction/hephaestus.dm b/code/game/jobs/faction/hephaestus.dm index ba08bd748d2..6d39ecd725b 100644 --- a/code/game/jobs/faction/hephaestus.dm +++ b/code/game/jobs/faction/hephaestus.dm @@ -47,7 +47,9 @@ "Atmospherics Apprentice" = /datum/outfit/job/intern_atmos/hephaestus, "Corporate Reporter" = /datum/outfit/job/journalist/hephaestus, "Corporate Liaison" = /datum/outfit/job/representative/hephaestus, - "Off-Duty Crew Member" = /datum/outfit/job/visitor/hephaestus + "Off-Duty Crew Member" = /datum/outfit/job/visitor/hephaestus, + "Engineering Personnel" = /datum/outfit/job/engineer/hephaestus, + "Operations Personnel" = /datum/outfit/job/hangar_tech/hephaestus ) /datum/outfit/job/hangar_tech/hephaestus diff --git a/code/game/jobs/faction/idris.dm b/code/game/jobs/faction/idris.dm index 74a06dafb42..edd9b422fd9 100644 --- a/code/game/jobs/faction/idris.dm +++ b/code/game/jobs/faction/idris.dm @@ -61,7 +61,8 @@ "Corporate Reporter" = /datum/outfit/job/journalist/idris, "Chaplain" = /datum/outfit/job/chaplain/idris, "Corporate Liaison" = /datum/outfit/job/representative/idris, - "Off-Duty Crew Member" = /datum/outfit/job/visitor/idris + "Off-Duty Crew Member" = /datum/outfit/job/visitor/idris, + "Security Personnel" = /datum/outfit/job/officer/idris ) /datum/outfit/job/officer/idris diff --git a/code/game/jobs/faction/orion_express.dm b/code/game/jobs/faction/orion_express.dm index e5b1b86b150..b917414b110 100644 --- a/code/game/jobs/faction/orion_express.dm +++ b/code/game/jobs/faction/orion_express.dm @@ -49,7 +49,8 @@ "Corporate Reporter" = /datum/outfit/job/journalist/orion, "Chaplain" = /datum/outfit/job/chaplain/orion, "Corporate Liaison" = /datum/outfit/job/representative/orion, - "Off-Duty Crew Member" = /datum/outfit/job/visitor/orion + "Off-Duty Crew Member" = /datum/outfit/job/visitor/orion, + "Operations Personnel" = /datum/outfit/job/hangar_tech/orion ) /datum/outfit/job/hangar_tech/orion diff --git a/code/game/jobs/faction/pmc.dm b/code/game/jobs/faction/pmc.dm index 453f3ba7eb1..cd84487e4ec 100644 --- a/code/game/jobs/faction/pmc.dm +++ b/code/game/jobs/faction/pmc.dm @@ -52,7 +52,9 @@ "Medical Intern" = /datum/outfit/job/intern_med/pmc, "Corporate Reporter" = /datum/outfit/job/journalist/pmc, "Corporate Liaison" = /datum/outfit/job/representative/pmc, - "Off-Duty Crew Member" = /datum/outfit/job/visitor/pmc + "Off-Duty Crew Member" = /datum/outfit/job/visitor/pmc, + "Security Personnel" = /datum/outfit/job/officer/pmc, + "Medical Personnel" = /datum/outfit/job/med_tech/pmc ) /datum/outfit/job/officer/pmc diff --git a/code/game/jobs/faction/zavodskoi.dm b/code/game/jobs/faction/zavodskoi.dm index 6026334ffa2..f9995602b00 100644 --- a/code/game/jobs/faction/zavodskoi.dm +++ b/code/game/jobs/faction/zavodskoi.dm @@ -63,7 +63,10 @@ "Atmospherics Apprentice" = /datum/outfit/job/intern_atmos/zavodskoi, "Corporate Reporter" = /datum/outfit/job/journalist/zavodskoi, "Corporate Liaison" = /datum/outfit/job/representative/zavodskoi, - "Off-Duty Crew Member" = /datum/outfit/job/visitor/zavodskoi + "Off-Duty Crew Member" = /datum/outfit/job/visitor/zavodskoi, + "Security Personnel" = /datum/outfit/job/officer/zavodskoi, + "Engineering Personnel" = /datum/outfit/job/engineer/zavodskoi, + "Science Personnel" = /datum/outfit/job/scientist/zavodskoi ) /datum/outfit/job/officer/zavodskoi diff --git a/code/game/jobs/faction/zeng_hu.dm b/code/game/jobs/faction/zeng_hu.dm index 23cec61d256..0c6d76bfdc0 100644 --- a/code/game/jobs/faction/zeng_hu.dm +++ b/code/game/jobs/faction/zeng_hu.dm @@ -54,7 +54,9 @@ "Xenoarchaeologist"= /datum/outfit/job/scientist/xenoarchaeologist/zeng_hu, "Corporate Reporter" = /datum/outfit/job/journalist/zeng_hu, "Corporate Liaison" = /datum/outfit/job/representative/zeng_hu, - "Off-Duty Crew Member" = /datum/outfit/job/visitor/zeng_hu + "Off-Duty Crew Member" = /datum/outfit/job/visitor/zeng_hu, + "Science Personnel" = /datum/outfit/job/scientist/zeng_hu, + "Medical Personnel" = /datum/outfit/job/med_tech/zeng_hu ) /datum/outfit/job/doctor/zeng_hu diff --git a/code/game/jobs/job/event.dm b/code/game/jobs/job/event.dm new file mode 100644 index 00000000000..f2135fd8f5c --- /dev/null +++ b/code/game/jobs/job/event.dm @@ -0,0 +1,121 @@ +//Generic department roles for events where organization may be required. +/datum/job/eventsec + title = "Security Personnel" + flag = EVENTSEC + departments = SIMPLEDEPT(DEPARTMENT_SECURITY) + department_flag = EVENTDEPT + faction = "Station" + total_positions = -1 + spawn_positions = -1 + supervisors = "the head of security" + selection_color = "#991818" + economic_modifier = 4 + + minimum_character_age = list( + SPECIES_HUMAN = 18, + SPECIES_SKRELL = 50, + SPECIES_SKRELL_AXIORI = 50 + ) + + access = list(ACCESS_SECURITY, ACCESS_EVA, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_WEAPONS) + minimal_access = list(ACCESS_SECURITY, ACCESS_EVA, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_WEAPONS) + minimal_player_age = 7 + outfit = /datum/outfit/job/officer + + blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_XION_REMOTE, SPECIES_VAURCA_BULWARK, SPECIES_DIONA_COEUS, SPECIES_VAURCA_BREEDER) + +/datum/job/eventmed + title = "Medical Personnel" + flag = EVENTMED + departments = SIMPLEDEPT(DEPARTMENT_MEDICAL) + department_flag = EVENTDEPT + faction = "Station" + total_positions = -1 + spawn_positions = -1 + supervisors = "the chief medical officer" + selection_color = "#15903a" + economic_modifier = 4 + + minimum_character_age = list( + SPECIES_HUMAN = 18, + SPECIES_SKRELL = 55, + SPECIES_SKRELL_AXIORI = 55 + ) + + access = list(ACCESS_MEDICAL, ACCESS_MEDICAL_EQUIP, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_PHARMACY, ACCESS_VIROLOGY, ACCESS_EVA, ACCESS_MAINT_TUNNELS, ACCESS_ENGINE, ACCESS_RESEARCH, ACCESS_SEC_DOORS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_PSYCHIATRIST, ACCESS_FIRST_RESPONDER) + minimal_access = list(ACCESS_MEDICAL, ACCESS_MEDICAL_EQUIP, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_EVA, ACCESS_MAINT_TUNNELS, ACCESS_ENGINE, ACCESS_RESEARCH, ACCESS_SEC_DOORS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_FIRST_RESPONDER) + outfit = /datum/outfit/job/med_tech + + blacklisted_species = list(SPECIES_DIONA, SPECIES_DIONA_COEUS, SPECIES_IPC_G2, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER) + +/datum/job/eventeng + title = "Engineering Personnel" + flag = EVENTENG + departments = SIMPLEDEPT(DEPARTMENT_ENGINEERING) + department_flag = EVENTDEPT + faction = "Station" + total_positions = -1 + spawn_positions = -1 + supervisors = "the chief engineer" + selection_color = "#c67519" + economic_modifier = 5 + + minimum_character_age = list( + SPECIES_HUMAN = 25, + SPECIES_SKRELL = 60, + SPECIES_SKRELL_AXIORI = 60 + ) + + access = list(ACCESS_EVA, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_SHIP_WEAPONS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_ATMOSPHERICS, ACCESS_LEVIATHAN) + minimal_access = list(ACCESS_EVA, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_SHIP_WEAPONS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_LEVIATHAN) + outfit = /datum/outfit/job/engineer + + blacklisted_species = list(SPECIES_VAURCA_BREEDER) + +/datum/job/eventsci + title = "Science Personnel" + flag = EVENTSCI + departments = SIMPLEDEPT(DEPARTMENT_SCIENCE) + department_flag = EVENTDEPT + faction = "Station" + total_positions = -1 + spawn_positions = -1 + supervisors = "the research director" + selection_color = "#a44799" + economic_modifier = 7 + + minimum_character_age = list( + SPECIES_HUMAN = 30, + SPECIES_SKRELL = 60, + SPECIES_SKRELL_AXIORI = 60 + ) + + access = list(ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_INTREPID) + minimal_access = list(ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_INTREPID) + + minimal_player_age = 14 + outfit = /datum/outfit/job/scientist + blacklisted_species = list(SPECIES_VAURCA_BREEDER) + +/datum/job/eventops + title = "Operations Personnel" + flag = EVENTOPS + departments = SIMPLEDEPT(DEPARTMENT_CARGO) + department_flag = EVENTDEPT + faction = "Station" + total_positions = -1 + spawn_positions = -1 + supervisors = "the operations manager" + selection_color = "#7B431C" + + minimum_character_age = list( + SPECIES_HUMAN = 18, + SPECIES_SKRELL = 50, + SPECIES_SKRELL_AXIORI = 50 + ) + + access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_SHIP_WEAPONS, ACCESS_CARGO_BOT, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_ROBOTICS) + minimal_access = list(ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_SHIP_WEAPONS, ACCESS_MAILSORTING) + outfit = /datum/outfit/job/hangar_tech + + blacklisted_species = list(SPECIES_VAURCA_BREEDER) diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index 27eeb9f71f9..120dcad0126 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -1,4 +1,4 @@ -var/const/NUM_JOB_DEPTS = 3 //ENGSEC, MEDSCI and SERVICE +var/const/NUM_JOB_DEPTS = 4 //ENGSEC, MEDSCI, SERVICE and EVENTDEPT // ENGSEC var/const/ENGSEC =(1<<0) @@ -58,6 +58,17 @@ var/const/MERCHANT =(1<<13) var/const/JOURNALIST =(1<<14) var/const/ASSISTANT =(1<<15) +//EVENTDEPT +//This is needed because there are just not enough bitflags available across the other departments +var/const/EVENTDEPT =(1<<3) + +var/const/EVENTSEC =(1<<0) +var/const/EVENTENG =(1<<1) +var/const/EVENTMED =(1<<2) +var/const/EVENTSCI =(1<<3) +var/const/EVENTOPS =(1<<4) + + // Positions Lists var/list/command_positions = list( "Captain", @@ -80,7 +91,8 @@ var/list/engineering_positions = list( "Chief Engineer", "Engineer", "Atmospheric Technician", - "Engineering Apprentice" + "Engineering Apprentice", + "Engineering Personnel" ) var/list/medical_positions = list( @@ -90,7 +102,8 @@ var/list/medical_positions = list( "Psychiatrist", "Pharmacist", "First Responder", - "Medical Intern" + "Medical Intern", + "Medical Personnel" ) var/list/science_positions = list( @@ -99,14 +112,16 @@ var/list/science_positions = list( "Xenoarchaeologist", "Xenobiologist", "Xenobotanist", - "Lab Assistant" + "Lab Assistant", + "Science Personnel" ) var/list/cargo_positions = list( "Operations Manager", "Hangar Technician", "Shaft Miner", - "Machinist" + "Machinist", + "Operations Personnel" ) var/list/service_positions = list( @@ -132,7 +147,8 @@ var/list/security_positions = list( "Warden", "Investigator", "Security Officer", - "Security Cadet" + "Security Cadet", + "Security Personnel" ) var/list/nonhuman_positions = list( diff --git a/code/modules/client/preference_setup/loadout/items/accessories.dm b/code/modules/client/preference_setup/loadout/items/accessories.dm index 6754a318b16..b0c216f4d6f 100644 --- a/code/modules/client/preference_setup/loadout/items/accessories.dm +++ b/code/modules/client/preference_setup/loadout/items/accessories.dm @@ -60,7 +60,7 @@ display_name = "holster selection" path = /obj/item/clothing/accessory/holster/armpit allowed_roles = list("Captain", "Executive Officer", "Bridge Crew", "Security Officer", "Warden", "Head of Security","Investigator", "Security Cadet", "Corporate Liaison", "Consular Officer", - "Chief Engineer", "Chief Medical Officer", "Research Director", "Operations Manager") + "Chief Engineer", "Chief Medical Officer", "Research Director", "Operations Manager", "Security Personnel") /datum/gear/accessory/holster/New() ..() @@ -109,17 +109,17 @@ /datum/gear/accessory/brown_vest display_name = "webbing, engineering" path = /obj/item/clothing/accessory/storage/brown_vest - allowed_roles = list("Engineer", "Atmospheric Technician", "Chief Engineer", "Engineering Apprentice") + allowed_roles = list("Engineer", "Atmospheric Technician", "Chief Engineer", "Engineering Apprentice", "Engineering Personnel") /datum/gear/accessory/black_vest display_name = "webbing, security" path = /obj/item/clothing/accessory/storage/black_vest - allowed_roles = list("Security Officer","Head of Security","Warden", "Security Cadet", "Investigator") + allowed_roles = list("Security Officer","Head of Security","Warden", "Security Cadet", "Investigator", "Security Personnel") /datum/gear/accessory/white_vest display_name = "webbing, medical" path = /obj/item/clothing/accessory/storage/white_vest - allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "Psychiatrist", "First Responder", "Medical Intern") + allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "Psychiatrist", "First Responder", "Medical Intern", "Medical Personnel") /datum/gear/accessory/webbing display_name = "webbing, simple" @@ -156,17 +156,17 @@ /datum/gear/accessory/brown_pouches display_name = "drop pouches, engineering" path = /obj/item/clothing/accessory/storage/pouches/brown - allowed_roles = list("Engineer", "Atmospheric Technician", "Chief Engineer", "Engineering Apprentice") + allowed_roles = list("Engineer", "Atmospheric Technician", "Chief Engineer", "Engineering Apprentice", "Engineering Personnel") /datum/gear/accessory/black_pouches display_name = "drop pouches, security" path = /obj/item/clothing/accessory/storage/pouches/black - allowed_roles = list("Security Officer", "Head of Security", "Warden", "Security Cadet", "Investigator") + allowed_roles = list("Security Officer", "Head of Security", "Warden", "Security Cadet", "Investigator", "Security Personnel") /datum/gear/accessory/white_pouches display_name = "drop pouches, medical" path = /obj/item/clothing/accessory/storage/pouches/white - allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "Psychiatrist", "First Responder", "Medical Intern") + allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "Psychiatrist", "First Responder", "Medical Intern", "Medical Personnel") /datum/gear/accessory/pouches display_name = "drop pouches, simple" @@ -177,13 +177,13 @@ /datum/gear/accessory/overalls_engineer display_name = "overalls, engineering" path = /obj/item/clothing/accessory/storage/overalls/engineer - allowed_roles = list("Engineer", "Atmospheric Technician", "Chief Engineer", "Engineering Apprentice") + allowed_roles = list("Engineer", "Atmospheric Technician", "Chief Engineer", "Engineering Apprentice", "Engineering Personnel") cost = 2 /datum/gear/accessory/overalls_mining display_name = "overalls, mining" path = /obj/item/clothing/accessory/storage/overalls/mining - allowed_roles = list("Shaft Miner", "Xenoarchaeologist") + allowed_roles = list("Shaft Miner", "Xenoarchaeologist", "Operations Personnel", "Science Personnel") cost = 2 /datum/gear/accessory/polo @@ -337,7 +337,7 @@ /datum/gear/accessory/holobadge display_name = "badge, holographic" path = /obj/item/clothing/accessory/badge/holo - allowed_roles = list("Head of Security", "Investigator", "Warden", "Security Officer", "Security Cadet") + allowed_roles = list("Head of Security", "Investigator", "Warden", "Security Officer", "Security Cadet", "Security Personnel") /datum/gear/accessory/holobadge/New() ..() @@ -349,12 +349,12 @@ /datum/gear/accessory/officerbadge display_name = "badge, officer" path = /obj/item/clothing/accessory/badge/officer - allowed_roles = list("Security Officer") + allowed_roles = list("Security Officer", "Security Personnel") /datum/gear/accessory/wardenbadge display_name = "badge, warden" path = /obj/item/clothing/accessory/badge/warden - allowed_roles = list("Warden") + allowed_roles = list("Warden", "Security Personnel") /datum/gear/accessory/hosbadge display_name = "badge, HoS" @@ -364,7 +364,7 @@ /datum/gear/accessory/detbadge display_name = "badge, investigations" path = /obj/item/clothing/accessory/badge/investigator - allowed_roles = list("Investigator") + allowed_roles = list("Investigator", "Security Personnel") /datum/gear/accessory/badge display_name = "badge selection" diff --git a/code/modules/client/preference_setup/loadout/items/augments.dm b/code/modules/client/preference_setup/loadout/items/augments.dm index ca6c13a90aa..9a965f93a28 100644 --- a/code/modules/client/preference_setup/loadout/items/augments.dm +++ b/code/modules/client/preference_setup/loadout/items/augments.dm @@ -98,7 +98,7 @@ display_name = "retractable cyborg analyzer" description = "An augment that allows the user to deploy a retractable cyborg analyzer." path = /obj/item/organ/internal/augment/tool/cyborg_analyzer - allowed_roles = list("Machinist") + allowed_roles = list("Machinist", "Operations Personnel") cost = 3 /datum/gear/augment/analyzer/New() @@ -151,7 +151,7 @@ path = /obj/item/organ/internal/augment/memory_inhibitor whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI) faction = "Zeng-Hu Pharmaceuticals" - allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern", "Corporate Liaison", "Research Director","Scientist", "Xenobiologist", "Xenobotanist", "Xenoarchaeologist", "Lab Assistant", "Assistant", "Off-Duty Crew Member", "Captain", "Bridge Crew") + allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern", "Corporate Liaison", "Research Director","Scientist", "Xenobiologist", "Xenobotanist", "Xenoarchaeologist", "Lab Assistant", "Assistant", "Off-Duty Crew Member", "Captain", "Bridge Crew", "Medical Personnel", "Science Personnel") /datum/gear/augment/emotional_manipulator display_name = "emotional manipulator" @@ -159,7 +159,7 @@ path = /obj/item/organ/internal/augment/emotional_manipulator whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI) faction = "Zeng-Hu Pharmaceuticals" - allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern", "Corporate Liaison", "Research Director","Scientist", "Xenobiologist", "Xenobotanist", "Xenoarchaeologist", "Lab Assistant", "Assistant", "Off-Duty Crew Member", "Captain", "Bridge Crew") + allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern", "Corporate Liaison", "Research Director","Scientist", "Xenobiologist", "Xenobotanist", "Xenoarchaeologist", "Lab Assistant", "Assistant", "Off-Duty Crew Member", "Captain", "Bridge Crew", "Medical Personnel", "Science Personnel") /datum/gear/augment/enhanced_vision display_name = "vision enhanced retinas" @@ -168,7 +168,7 @@ whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL) faction = "Zeng-Hu Pharmaceuticals" cost = 3 - allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern", "Corporate Liaison", "Research Director","Scientist", "Xenobiologist", "Xenobotanist", "Xenoarchaeologist", "Lab Assistant", "Assistant", "Off-Duty Crew Member", "Captain", "Bridge Crew") + allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern", "Corporate Liaison", "Research Director","Scientist", "Xenobiologist", "Xenobotanist", "Xenoarchaeologist", "Lab Assistant", "Assistant", "Off-Duty Crew Member", "Captain", "Bridge Crew", "Medical Personnel") /datum/gear/augment/sightlights @@ -178,7 +178,7 @@ whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL) faction = "Zeng-Hu Pharmaceuticals" cost = 3 - allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern", "Corporate Liaison", "Research Director","Scientist", "Xenobiologist", "Xenobotanist", "Xenoarchaeologist", "Lab Assistant", "Assistant", "Off-Duty Crew Member", "Captain") + allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern", "Corporate Liaison", "Research Director","Scientist", "Xenobiologist", "Xenobotanist", "Xenoarchaeologist", "Lab Assistant", "Assistant", "Off-Duty Crew Member", "Captain", "Medical Personnel", "Science Personnel") /datum/gear/augment/zenghu_plate @@ -187,7 +187,7 @@ path = /obj/item/organ/internal/augment/zenghu_plate whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL) faction = "Zeng-Hu Pharmaceuticals" - allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern", "Corporate Liaison", "Research Director","Scientist", "Xenobiologist", "Xenobotanist", "Xenoarchaeologist", "Lab Assistant", "Assistant", "Off-Duty Crew Member", "Captain") + allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern", "Corporate Liaison", "Research Director","Scientist", "Xenobiologist", "Xenobotanist", "Xenoarchaeologist", "Lab Assistant", "Assistant", "Off-Duty Crew Member", "Captain", "Medical Personnel", "Science Personnel") /datum/gear/augment/corrective_lenses @@ -199,7 +199,7 @@ display_name = "retractable glare dampeners" description = "A subdermal implant installed just above the brow line that deploys a thin sheath of hyperpolycarbonate that protects from eye damage associated with arc flash." path = /obj/item/organ/internal/augment/tool/correctivelens/glare_dampener - allowed_roles = list("Chief Engineer", "Engineer", "Atmospheric Technician", "Engineering Apprentice", "Machinist") + allowed_roles = list("Chief Engineer", "Engineer", "Atmospheric Technician", "Engineering Apprentice", "Machinist", "Engineering Personnel", "Operations Personel") cost = 2 /datum/gear/augment/drill @@ -207,7 +207,7 @@ description = "A mining drill integrated in the hand. The drill is heavy enough that it is only usable by industrial IPCs, as well as Vaurca Bulwarks and Bound Workers." path = /obj/item/organ/internal/augment/tool/drill whitelisted = list(SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_WORKER) - allowed_roles = list("Shaft Miner") + allowed_roles = list("Shaft Miner", "Operations Personnel") cost = 5 /datum/gear/augment/head_fluff @@ -244,6 +244,6 @@ path = /obj/item/organ/internal/augment/language/zeng whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD) faction = "Zeng-Hu Pharmaceuticals" - allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern", "Corporate Liaison", "Research Director","Scientist", "Xenobiologist", "Xenobotanist", "Xenoarchaeologist", "Lab Assistant", "Assistant", "Off-Duty Crew Member", "Captain") + allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern", "Corporate Liaison", "Research Director","Scientist", "Xenobiologist", "Xenobotanist", "Xenoarchaeologist", "Lab Assistant", "Assistant", "Off-Duty Crew Member", "Captain", "Medical Personnel", "Science Personnel") cost = 3 diff --git a/code/modules/client/preference_setup/loadout/items/belt.dm b/code/modules/client/preference_setup/loadout/items/belt.dm index 9252ba64309..66339f545fe 100644 --- a/code/modules/client/preference_setup/loadout/items/belt.dm +++ b/code/modules/client/preference_setup/loadout/items/belt.dm @@ -30,5 +30,5 @@ description = "An alternative look to a standard toolbelt." cost = 1 path = /obj/item/storage/belt/utility/alt - allowed_roles = list("Engineer", "Atmospheric Technician", "Chief Engineer", "Engineering Apprentice", "Machinist", "Research Director") + allowed_roles = list("Engineer", "Atmospheric Technician", "Chief Engineer", "Engineering Apprentice", "Machinist", "Research Director", "Engineering Personnel", "Operations Personnel") flags = null diff --git a/code/modules/client/preference_setup/loadout/items/eyes.dm b/code/modules/client/preference_setup/loadout/items/eyes.dm index 5bf4f712482..b9402ab1389 100644 --- a/code/modules/client/preference_setup/loadout/items/eyes.dm +++ b/code/modules/client/preference_setup/loadout/items/eyes.dm @@ -46,7 +46,7 @@ display_name = "flash-proof sunglasses selection (Security/Command)" description = "A selection of flash-proof sunglasses." path = /obj/item/clothing/glasses/sunglasses - allowed_roles = list("Security Officer", "Head of Security", "Warden", "Captain", "Executive Officer", "Operations Manager", "Investigator", "Bridge Crew") + allowed_roles = list("Security Officer", "Head of Security", "Warden", "Captain", "Executive Officer", "Operations Manager", "Investigator", "Bridge Crew", "Security Personnel") /datum/gear/eyes/sunglasses/New() ..() @@ -77,7 +77,7 @@ display_name = "medical HUD selection" description = "A selection of medical HUDs." path = /obj/item/clothing/glasses/hud/health/aviator - allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern") + allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern", "Medical Personnel") /datum/gear/eyes/medhuds/New() ..() @@ -93,7 +93,7 @@ display_name = "security HUD selection" description = "A selection of security HUDs." path = /obj/item/clothing/glasses/sunglasses/sechud/aviator - allowed_roles = list("Security Officer", "Head of Security", "Warden", "Security Cadet", "Investigator") + allowed_roles = list("Security Officer", "Head of Security", "Warden", "Security Cadet", "Investigator", "Security Personnel") /datum/gear/eyes/sechuds/New() ..() @@ -152,7 +152,7 @@ display_name = "HUD goggles selection (medical)" description = "A selection of medical goggles. Note that factional ones can only be taken by members of that faction." path = /obj/item/clothing/glasses/safety/goggles/medical - allowed_roles = list("First Responder") + allowed_roles = list("First Responder", "Medical Personnel") /datum/gear/eyes/medical_goggles/New() ..() diff --git a/code/modules/client/preference_setup/loadout/items/factions.dm b/code/modules/client/preference_setup/loadout/items/factions.dm index c2da3acdfe0..6df747b0da8 100644 --- a/code/modules/client/preference_setup/loadout/items/factions.dm +++ b/code/modules/client/preference_setup/loadout/items/factions.dm @@ -30,7 +30,7 @@ path = /obj/item/clothing/under/rank/security/idris/idrissec slot = slot_w_uniform faction = "Idris Incorporated" - allowed_roles = list("Security Cadet", "Security Officer", "Investigator", "Warden") + allowed_roles = list("Security Cadet", "Security Officer", "Investigator", "Warden", "Security Personnel") /datum/gear/faction/idris_sec_uniforms/New() ..() @@ -65,7 +65,7 @@ description = "A selection of Idris security HUDs." path = /obj/item/clothing/glasses/sunglasses/sechud/idris slot = slot_glasses - allowed_roles = list("Security Officer", "Head of Security", "Warden", "Security Cadet", "Investigator") + allowed_roles = list("Security Officer", "Head of Security", "Warden", "Security Cadet", "Investigator", "Security Personnel") faction = "Idris Incorporated" /datum/gear/faction/idris_sunglasses/New() @@ -118,7 +118,7 @@ path = /obj/item/clothing/accessory/sleevepatch/idrissec faction = "Idris Incorporated" slot = slot_tie - allowed_roles = list("Head of Security", "Warden", "Investigator", "Security Officer", "Security Cadet") + allowed_roles = list("Head of Security", "Warden", "Investigator", "Security Officer", "Security Cadet", "Security Personnel") //Zavodskoi /datum/gear/faction/zavodskoi_headwear @@ -147,7 +147,7 @@ path = /obj/item/clothing/under/rank/security/zavod/zavodsec slot = slot_w_uniform faction = "Zavodskoi Interstellar" - allowed_roles = list("Warden", "Investigator", "Security Officer", "Security Cadet") + allowed_roles = list("Warden", "Investigator", "Security Officer", "Security Cadet", "Security Personnel") /datum/gear/faction/zavod_sec_uniforms/New() ..() @@ -184,7 +184,7 @@ path = /obj/item/clothing/suit/storage/security/officer/zav slot = slot_wear_suit faction = "Zavodskoi Interstellar" - allowed_roles = list("Head of Security", "Warden", "Investigator", "Security Officer", "Security Cadet") + allowed_roles = list("Head of Security", "Warden", "Investigator", "Security Officer", "Security Cadet", "Security Personnel") /datum/gear/faction/zavod_sec_coat/New() ..() @@ -199,7 +199,7 @@ path = /obj/item/clothing/suit/storage/toggle/warden/zavod slot = slot_wear_suit faction = "Zavodskoi Interstellar" - allowed_roles = list("Head of Security", "Warden") + allowed_roles = list("Head of Security", "Warden", "Security Personnel") /datum/gear/faction/zavod_warden_coat/New() ..() @@ -214,7 +214,7 @@ path = /obj/item/clothing/glasses/sunglasses/sechud/zavod slot = slot_glasses faction = "Zavodskoi Interstellar" - allowed_roles = list("Head of Security", "Warden", "Investigator", "Security Officer", "Security Cadet") + allowed_roles = list("Head of Security", "Warden", "Investigator", "Security Officer", "Security Cadet", "Security Personnel") /datum/gear/faction/zavod_sunglasses/New() ..() @@ -236,7 +236,7 @@ path = /obj/item/clothing/accessory/sleevepatch/zavodskoisec slot = slot_tie faction = "Zavodskoi Interstellar" - allowed_roles = list("Head of Security", "Warden", "Investigator", "Security Officer", "Security Cadet") + allowed_roles = list("Head of Security", "Warden", "Investigator", "Security Officer", "Security Cadet", "Security Personnel") /datum/gear/faction/zavodskoicape display_name = "zavodskoi dominian great house cape selection" @@ -262,7 +262,7 @@ description = "A selection of PMCG security HUDs." path = /obj/item/clothing/glasses/sunglasses/sechud/pmc slot = slot_glasses - allowed_roles = list("Security Officer", "Head of Security", "Warden", "Security Cadet", "Investigator") + allowed_roles = list("Security Officer", "Head of Security", "Warden", "Security Cadet", "Investigator", "Security Personnel") faction = "Private Military Contracting Group" /datum/gear/faction/pmc_sunglasses/New() @@ -283,7 +283,7 @@ description = "A selection of PMCG medical HUDs." path = /obj/item/clothing/glasses/hud/health/aviator/pmc slot = slot_glasses - allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern") + allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern", "Medical Personnel") faction = "Private Military Contracting Group" /datum/gear/faction/pmc_medglasses/New() @@ -362,7 +362,7 @@ path = /obj/item/clothing/under/rank/security/pmc/epmc slot = slot_w_uniform faction = "Private Military Contracting Group" - allowed_roles = list("Security Cadet", "Security Officer", "Investigator", "Warden") + allowed_roles = list("Security Cadet", "Security Officer", "Investigator", "Warden", "Security Personnel") /datum/gear/faction/pmcg_sec_uniforms/New() ..() @@ -401,35 +401,35 @@ path = /obj/item/clothing/under/rank/medical/pmc/alt slot = slot_w_uniform faction = "Private Military Contracting Group" - allowed_roles = list("Physician") + allowed_roles = list("Physician", "Medical Personnel") /datum/gear/faction/epmc_uniform_pharm_med display_name = "PMCG pharmacist uniform" path = /obj/item/clothing/under/rank/medical/pharmacist/pmc/alt slot = slot_w_uniform faction = "Private Military Contracting Group" - allowed_roles = list("Pharmacist") + allowed_roles = list("Pharmacist", "Medical Personnel") /datum/gear/faction/epmc_uniform_psych_med display_name = "PMCG psychiatrist uniform" path = /obj/item/clothing/under/rank/medical/psych/pmc/alt slot = slot_w_uniform faction = "Private Military Contracting Group" - allowed_roles = list("Psychiatrist") + allowed_roles = list("Psychiatrist", "Medical Personnel") /datum/gear/faction/epmc_uniform_intern_med display_name = "PMCG medical intern uniform" path = /obj/item/clothing/under/rank/medical/intern/pmc/alt slot = slot_w_uniform faction = "Private Military Contracting Group" - allowed_roles = list("Medical Intern") + allowed_roles = list("Medical Intern", "Medical Personnel") /datum/gear/faction/epmc_uniform_fr_med display_name = "PMCG/EPMC first responder uniform" path = /obj/item/clothing/under/rank/medical/first_responder/pmc/epmc slot = slot_w_uniform faction = "Private Military Contracting Group" - allowed_roles = list("First Responder") + allowed_roles = list("First Responder", "Medical Personnel") /datum/gear/faction/epmc_uniform_fr_med/New() ..() @@ -522,7 +522,7 @@ description = "A selection of Zeng-Hu medical HUDs." path = /obj/item/clothing/glasses/hud/health/aviator/zeng slot = slot_glasses - allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern") + allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern", "Medical Personnel") faction = "Zeng-Hu Pharmaceuticals" /datum/gear/faction/zeng_medglasses/New() @@ -618,7 +618,7 @@ description = "A selection of NanoTrasen medical HUDs." path = /obj/item/clothing/glasses/hud/health/aviator/nt slot = slot_glasses - allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern") + allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern", "Medical Personnel") faction = "NanoTrasen" /datum/gear/faction/nt_medglasses/New() diff --git a/code/modules/client/preference_setup/loadout/items/head.dm b/code/modules/client/preference_setup/loadout/items/head.dm index f2c4f61bfb0..af2555838f6 100644 --- a/code/modules/client/preference_setup/loadout/items/head.dm +++ b/code/modules/client/preference_setup/loadout/items/head.dm @@ -111,7 +111,7 @@ display_name = "headwear, security (warden)" description = "A selection of warden headwear." path = /obj/item/clothing/head - allowed_roles = list("Head of Security" , "Warden") + allowed_roles = list("Head of Security" , "Warden", "Security Personnel") /datum/gear/head/warden/New() ..() @@ -139,7 +139,7 @@ /datum/gear/head/hardhat display_name = "hard hat selection" path = /obj/item/clothing/head/hardhat - allowed_roles = list("Engineer", "Atmospheric Technician", "Chief Engineer", "Engineering Apprentice", "Operations Manager", "Hangar Technician", "Shaft Miner", "Xenoarchaeologist") + allowed_roles = list("Engineer", "Atmospheric Technician", "Chief Engineer", "Engineering Apprentice", "Operations Manager", "Hangar Technician", "Shaft Miner", "Xenoarchaeologist", "Engineering Personnel", "Operations Personnel") /datum/gear/head/hardhat/New() ..() @@ -292,7 +292,7 @@ /datum/gear/head/surgical display_name = "surgical cap selection" path = /obj/item/clothing/head/surgery/pmc - allowed_roles = list("Scientist", "Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "First Responder", "Medical Intern", "Xenobiologist", "Research Director", "Investigator") + allowed_roles = list("Scientist", "Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "First Responder", "Medical Intern", "Xenobiologist", "Research Director", "Investigator", "Medical Personnel") /datum/gear/head/surgical/New() ..() @@ -338,7 +338,7 @@ display_name = "IAC headgear selection" description = "A selection of hats worn by Interstellar Aid Corps volunteers." path = /obj/item/clothing/head/softcap/iac - allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "First Responder", "Medical Intern") + allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "First Responder", "Medical Intern", "Medical Personnel") flags = GEAR_HAS_DESC_SELECTION /datum/gear/head/iac/New() diff --git a/code/modules/client/preference_setup/loadout/items/religion.dm b/code/modules/client/preference_setup/loadout/items/religion.dm index 9b0a665a833..776102a4300 100644 --- a/code/modules/client/preference_setup/loadout/items/religion.dm +++ b/code/modules/client/preference_setup/loadout/items/religion.dm @@ -183,7 +183,7 @@ display_name = "tribunalist medical beret" path = /obj/item/clothing/head/beret/dominia/medical slot = slot_head - allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "First Responder", "Medical Intern") + allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "First Responder", "Medical Intern", "Medical Personnel") culture_restriction = list(/singleton/origin_item/culture/dominia, /singleton/origin_item/culture/dominian_unathi) /datum/gear/religion/shaman_staff diff --git a/code/modules/client/preference_setup/loadout/items/suit.dm b/code/modules/client/preference_setup/loadout/items/suit.dm index 35f693020e9..36352c7ad88 100644 --- a/code/modules/client/preference_setup/loadout/items/suit.dm +++ b/code/modules/client/preference_setup/loadout/items/suit.dm @@ -121,12 +121,12 @@ display_name = "surgical apron" path = /obj/item/clothing/accessory/apron/surgery cost = 1 - allowed_roles = list("Scientist", "Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "First Responder", "Medical Intern", "Xenobiologist", "Research Director", "Investigator") + allowed_roles = list("Scientist", "Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "First Responder", "Medical Intern", "Xenobiologist", "Research Director", "Investigator", "Medical Personnel", "Science Personnel") /datum/gear/suit/medical_outerwear display_name = "medical outerwear (jackets, vests, rigs)" path = /obj/item/clothing/suit/storage/toggle/fr_jacket - allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "First Responder", "Medical Intern") + allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "First Responder", "Medical Intern", "Medical Personnel") /datum/gear/suit/medical_outerwear/New() ..() @@ -138,7 +138,7 @@ /datum/gear/suit/iac_outerwear display_name = "IAC outerwear (jackets, vests, rigs)" path = /obj/item/clothing/suit/storage/hazardvest/iac - allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "First Responder", "Medical Intern") + allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "First Responder", "Medical Intern", "Medical Personnel") flags = GEAR_HAS_DESC_SELECTION /datum/gear/suit/iac_outerwear/New() diff --git a/code/modules/client/preference_setup/loadout/items/uniform.dm b/code/modules/client/preference_setup/loadout/items/uniform.dm index 4d7f83e2481..cce1f4f65e5 100644 --- a/code/modules/client/preference_setup/loadout/items/uniform.dm +++ b/code/modules/client/preference_setup/loadout/items/uniform.dm @@ -12,7 +12,7 @@ /datum/gear/uniform/iacjumpsuit display_name = "IAC Jumpsuit" path = /obj/item/clothing/under/rank/iacjumpsuit - allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "First Responder", "Medical Intern") + allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "First Responder", "Medical Intern", "Medical Personnel") /datum/gear/uniform/jumpsuit display_name = "generic jumpsuits" @@ -99,7 +99,7 @@ /datum/gear/uniform/scrubs display_name = "scrubs selection" path = /obj/item/clothing/under/rank/medical/surgeon/zavod - allowed_roles = list("Scientist","Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "First Responder", "Medical Intern", "Xenobiologist", "Research Director", "Investigator") + allowed_roles = list("Scientist","Chief Medical Officer", "Physician", "Surgeon", "Pharmacist", "First Responder", "Medical Intern", "Xenobiologist", "Research Director", "Investigator", "Medical Personnel", "Science Personnel") /datum/gear/uniform/scrubs/New() ..() diff --git a/code/modules/client/preference_setup/loadout/items/utility.dm b/code/modules/client/preference_setup/loadout/items/utility.dm index c5c8705e152..b24cc03e72d 100644 --- a/code/modules/client/preference_setup/loadout/items/utility.dm +++ b/code/modules/client/preference_setup/loadout/items/utility.dm @@ -94,7 +94,7 @@ /datum/gear/utility/himeo_kit display_name = "himean voidsuit kit" path = /obj/item/voidsuit_modkit/himeo - allowed_roles = list("Shaft Miner", "Operations Manager", "Engineer", "Atmospheric Technician", "Chief Engineer", "Engineering Apprentice") + allowed_roles = list("Shaft Miner", "Operations Manager", "Engineer", "Atmospheric Technician", "Chief Engineer", "Engineering Apprentice", "Engineering Personnel", "Operations Personnel") origin_restriction = list(/singleton/origin_item/origin/himeo, /singleton/origin_item/origin/ipc_himeo, /singleton/origin_item/origin/free_council) /datum/gear/utility/wheelchair/color diff --git a/code/modules/client/preference_setup/loadout/items/xeno/human.dm b/code/modules/client/preference_setup/loadout/items/xeno/human.dm index 45ec2ff8c5a..7c13a3c0f2b 100644 --- a/code/modules/client/preference_setup/loadout/items/xeno/human.dm +++ b/code/modules/client/preference_setup/loadout/items/xeno/human.dm @@ -19,7 +19,7 @@ whitelisted = list(SPECIES_HUMAN_OFFWORLD) sort_category = "Xenowear - Human" flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION - allowed_roles = list("Chief Engineer", "Engineer", "Atmospheric Technician", "Engineering Apprentice", "Machinist") + allowed_roles = list("Chief Engineer", "Engineer", "Atmospheric Technician", "Engineering Apprentice", "Machinist", "Engineering Personnel") /datum/gear/accessory/offworlder display_name = "legbrace" diff --git a/code/modules/client/preference_setup/loadout/items/xeno/machine.dm b/code/modules/client/preference_setup/loadout/items/xeno/machine.dm index 47929647f5a..55668aec408 100644 --- a/code/modules/client/preference_setup/loadout/items/xeno/machine.dm +++ b/code/modules/client/preference_setup/loadout/items/xeno/machine.dm @@ -103,7 +103,7 @@ path = /obj/item/clothing/suit/storage/toggle/armor/vest/idris whitelisted = list(SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL) sort_category = "Xenowear - IPC" - allowed_roles = list("Security Officer", "Warden", "Head of Security", "Investigator", "Security Cadet") + allowed_roles = list("Security Officer", "Warden", "Head of Security", "Investigator", "Security Cadet", "Security Personnel") flags = GEAR_HAS_DESC_SELECTION /datum/gear/suit/idris/New() diff --git a/code/modules/client/preference_setup/loadout/items/xeno/skrell.dm b/code/modules/client/preference_setup/loadout/items/xeno/skrell.dm index 0a4e915a967..662dead4a4d 100644 --- a/code/modules/client/preference_setup/loadout/items/xeno/skrell.dm +++ b/code/modules/client/preference_setup/loadout/items/xeno/skrell.dm @@ -233,7 +233,7 @@ path = /obj/item/clothing/head/helmet/security/skrell whitelisted = list(SPECIES_SKRELL, SPECIES_SKRELL_AXIORI) sort_category = "Xenowear - Skrell" - allowed_roles = list("Head of Security", "Warden", "Security Officer", "Investigator", "Executive Officer", "Captain") + allowed_roles = list("Head of Security", "Warden", "Security Officer", "Investigator", "Executive Officer", "Captain", "Security Personnel") /datum/gear/head/skrell_helmet/hos display_name = "Head of Security Skrellmet" diff --git a/code/modules/client/preference_setup/loadout/items/xeno/tajara.dm b/code/modules/client/preference_setup/loadout/items/xeno/tajara.dm index 512f40921f4..b1dca0efba1 100644 --- a/code/modules/client/preference_setup/loadout/items/xeno/tajara.dm +++ b/code/modules/client/preference_setup/loadout/items/xeno/tajara.dm @@ -113,14 +113,14 @@ display_name = "PRA medical coat" path = /obj/item/clothing/suit/storage/toggle/labcoat/tajaran whitelisted = list(SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI) - allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Chemist", "First Responder", "Medical Intern") + allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Chemist", "First Responder", "Medical Intern", "Medical Personnel") sort_category = "Xenowear - Tajara" /datum/gear/suit/tajaran_surgeon display_name = "adhomian surgeon garb" path = /obj/item/clothing/suit/storage/hooded/tajaran/surgery whitelisted = list(SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI) - allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Xenobiologist", "Roboticist", "Medical Intern") + allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "Xenobiologist", "Roboticist", "Medical Intern", "Medical Personnel") sort_category = "Xenowear - Tajara" /datum/gear/uniform/tajara @@ -425,7 +425,7 @@ path = /obj/item/voidsuit_modkit/himeo/tajara sort_category = "Xenowear - Tajara" whitelisted = list(SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI) - allowed_roles = list("Shaft Miner", "Operations Manager", "Engineer", "Atmospheric Technician", "Chief Engineer", "Engineering Apprentice") + allowed_roles = list("Shaft Miner", "Operations Manager", "Engineer", "Atmospheric Technician", "Chief Engineer", "Engineering Apprentice", "Engineering Personnel", "Operations Personnel") origin_restriction = list(/singleton/origin_item/origin/free_council) /datum/gear/tajaran_tarot diff --git a/code/modules/client/preference_setup/loadout/items/xeno/unathi.dm b/code/modules/client/preference_setup/loadout/items/xeno/unathi.dm index 726c46bb559..998910b4d92 100644 --- a/code/modules/client/preference_setup/loadout/items/xeno/unathi.dm +++ b/code/modules/client/preference_setup/loadout/items/xeno/unathi.dm @@ -208,7 +208,7 @@ culture_restriction = list(/singleton/origin_item/culture/autakh) sort_category = "Xenowear - Unathi" cost = 2 - allowed_roles = list("Engineer", "Chief Engineer", "Atmospheric Technician", "Engineering Apprentice", "Machinist") + allowed_roles = list("Engineer", "Chief Engineer", "Atmospheric Technician", "Engineering Apprentice", "Machinist", "Engineering Personnel") flags = GEAR_NO_SELECTION /datum/gear/augment/autakh_mining @@ -219,7 +219,7 @@ culture_restriction = list(/singleton/origin_item/culture/autakh) sort_category = "Xenowear - Unathi" cost = 2 - allowed_roles = list("Shaft Miner") + allowed_roles = list("Shaft Miner", "Operations Personnel") flags = GEAR_NO_SELECTION /datum/gear/augment/autakh_medical @@ -230,7 +230,7 @@ culture_restriction = list(/singleton/origin_item/culture/autakh) sort_category = "Xenowear - Unathi" cost = 2 - allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "First Responder", "Medical Intern", "Psychiatrist", "Chemist") + allowed_roles = list("Chief Medical Officer", "Physician", "Surgeon", "First Responder", "Medical Intern", "Psychiatrist", "Chemist", "Medical Personnel") flags = GEAR_NO_SELECTION /datum/gear/augment/autakh_security @@ -241,7 +241,7 @@ culture_restriction = list(/singleton/origin_item/culture/autakh) sort_category = "Xenowear - Unathi" cost = 2 - allowed_roles = list("Security Officer", "Head of Security", "Warden") + allowed_roles = list("Security Officer", "Head of Security", "Warden", "Security Personnel") flags = GEAR_NO_SELECTION /datum/gear/uniform/unathi/jizixi diff --git a/code/modules/client/preference_setup/loadout/items/xeno/vaurca.dm b/code/modules/client/preference_setup/loadout/items/xeno/vaurca.dm index e8ee426715a..b33a664a55f 100644 --- a/code/modules/client/preference_setup/loadout/items/xeno/vaurca.dm +++ b/code/modules/client/preference_setup/loadout/items/xeno/vaurca.dm @@ -270,7 +270,7 @@ path = /obj/item/organ/external/hand/right/vaurca/security whitelisted = list(SPECIES_VAURCA_WARRIOR) sort_category = "Xenowear - Vaurca" - allowed_roles = list("Security Officer", "Warden") + allowed_roles = list("Security Officer", "Warden", "Security Personnel") flags = GEAR_NO_SELECTION /datum/gear/augment/vaurcamed @@ -280,7 +280,7 @@ path = /obj/item/organ/external/hand/right/vaurca/medical whitelisted = list(SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER) sort_category = "Xenowear - Vaurca" - allowed_roles = list("Physician", "Surgeon", "First Responder", "Medical Intern", "Psychiatrist", "Chemist") + allowed_roles = list("Physician", "Surgeon", "First Responder", "Medical Intern", "Psychiatrist", "Chemist", "Medical Personnel") flags = GEAR_NO_SELECTION /datum/gear/augment/vaurcamag @@ -290,7 +290,7 @@ path = /obj/item/organ/internal/augment/tool/vaurcamag sort_category = "Xenowear - Vaurca" whitelisted = list(SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK) - allowed_roles = list("Shaft Miner", "Engineer", "Atmospheric Technician", "Engineering Apprentice", "Xenoarchaeologist") + allowed_roles = list("Shaft Miner", "Engineer", "Atmospheric Technician", "Engineering Apprentice", "Xenoarchaeologist", "Engineering Personnel", "Operations Personnel") /datum/gear/accessory/tret_passcard display_name = "tret passcard" diff --git a/code/modules/client/preference_setup/occupation/occupation.dm b/code/modules/client/preference_setup/occupation/occupation.dm index 208a3430599..737dfaaa791 100644 --- a/code/modules/client/preference_setup/occupation/occupation.dm +++ b/code/modules/client/preference_setup/occupation/occupation.dm @@ -13,6 +13,9 @@ S["job_engsec_high"] >> pref.job_engsec_high S["job_engsec_med"] >> pref.job_engsec_med S["job_engsec_low"] >> pref.job_engsec_low + S["job_event_high"] >> pref.job_event_high + S["job_event_med"] >> pref.job_event_med + S["job_event_low"] >> pref.job_event_low S["player_alt_titles"] >> pref.player_alt_titles S["faction"] >> pref.faction @@ -27,6 +30,9 @@ S["job_engsec_high"] << pref.job_engsec_high S["job_engsec_med"] << pref.job_engsec_med S["job_engsec_low"] << pref.job_engsec_low + S["job_event_high"] >> pref.job_event_high + S["job_event_med"] >> pref.job_event_med + S["job_event_low"] >> pref.job_event_low S["player_alt_titles"] << pref.player_alt_titles S["faction"] << pref.faction @@ -68,7 +74,11 @@ "job_medsci_low" = pref.job_medsci_low, "job_engsec_high" = pref.job_engsec_high, "job_engsec_med" = pref.job_engsec_med, - "job_engsec_low" = pref.job_engsec_low + "job_engsec_low" = pref.job_engsec_low, + "job_event_high" = pref.job_event_high, + "job_event_med" = pref.job_event_med, + "job_event_low" = pref.job_event_low + ) return list( @@ -99,6 +109,9 @@ pref.job_engsec_high = 0 pref.job_engsec_med = 0 pref.job_engsec_low = 0 + pref.job_event_high = 0 + pref.job_event_med = 0 + pref.job_event_low = 0 else for (var/preference in jobs) try @@ -117,6 +130,10 @@ pref.job_engsec_high = sanitize_integer(text2num(pref.job_engsec_high), 0, 65535, initial(pref.job_engsec_high)) pref.job_engsec_med = sanitize_integer(text2num(pref.job_engsec_med), 0, 65535, initial(pref.job_engsec_med)) pref.job_engsec_low = sanitize_integer(text2num(pref.job_engsec_low), 0, 65535, initial(pref.job_engsec_low)) + pref.job_event_high = sanitize_integer(text2num(pref.job_event_high), 0, 65535, initial(pref.job_event_high)) + pref.job_event_med = sanitize_integer(text2num(pref.job_event_med), 0, 65535, initial(pref.job_event_med)) + pref.job_event_low = sanitize_integer(text2num(pref.job_event_low), 0, 65535, initial(pref.job_event_low)) + if (!pref.player_alt_titles) pref.player_alt_titles = new() @@ -357,14 +374,17 @@ pref.job_civilian_high = 0 pref.job_medsci_high = 0 pref.job_engsec_high = 0 + pref.job_event_high = 0 return 1 if(2)//Set current highs to med, then reset them pref.job_civilian_med |= pref.job_civilian_high pref.job_medsci_med |= pref.job_medsci_high pref.job_engsec_med |= pref.job_engsec_high + pref.job_event_med |= pref.job_event_high pref.job_civilian_high = 0 pref.job_medsci_high = 0 pref.job_engsec_high = 0 + pref.job_event_high = 0 switch(job.department_flag) if(SERVICE) @@ -397,6 +417,16 @@ pref.job_engsec_low &= ~job.flag else pref.job_engsec_low |= job.flag + if(EVENTDEPT) + switch(level) + if(2) + pref.job_event_high = job.flag + pref.job_event_med &= ~job.flag + if(3) + pref.job_event_med |= job.flag + pref.job_event_low &= ~job.flag + else + pref.job_event_low |= job.flag return 1 /datum/category_item/player_setup_item/occupation/proc/ResetJobs() @@ -412,6 +442,10 @@ pref.job_engsec_med = 0 pref.job_engsec_low = 0 + pref.job_event_high = 0 + pref.job_event_med = 0 + pref.job_event_low = 0 + pref.player_alt_titles.Cut() /datum/category_item/player_setup_item/occupation/proc/show_faction_menu(mob/user, selected_faction) //note : selected faction is what you choose to see, pref.faction is the actual chosen faction @@ -519,4 +553,12 @@ return job_engsec_med if(3) return job_engsec_low + if(EVENTDEPT) + switch(level) + if(1) + return job_event_high + if(2) + return job_event_med + if(3) + return job_event_low return 0 diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index f8febee0ae7..a100f5b2d53 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -128,6 +128,10 @@ var/list/preferences_datums = list() var/job_engsec_med = 0 var/job_engsec_low = 0 + var/job_event_high = 0 + var/job_event_med = 0 + var/job_event_low = 0 + // A text blob which temporarily houses data from the SQL. var/unsanitized_jobs = "" @@ -655,6 +659,10 @@ var/list/preferences_datums = list() job_engsec_med = 0 job_engsec_low = 0 + job_event_high = 0 + job_event_med = 0 + job_event_low = 0 + alternate_option = 1 metadata = "" diff --git a/code/modules/mob/abstract/new_player/preferences_setup.dm b/code/modules/mob/abstract/new_player/preferences_setup.dm index f55664894a0..cf87e8db93d 100644 --- a/code/modules/mob/abstract/new_player/preferences_setup.dm +++ b/code/modules/mob/abstract/new_player/preferences_setup.dm @@ -246,6 +246,8 @@ chosenJob = SSjobs.bitflag_to_job["[MEDSCI]"]["[job_medsci_high]"] else if(job_engsec_high) chosenJob = SSjobs.bitflag_to_job["[ENGSEC]"]["[job_engsec_high]"] + else if(job_event_high) + chosenJob = SSjobs.bitflag_to_job["[EVENTDEPT]"]["[job_event_high]"] if(istype(chosenJob) && title) return chosenJob.title diff --git a/html/changelogs/RustingWithYou - eventjob.yml b/html/changelogs/RustingWithYou - eventjob.yml new file mode 100644 index 00000000000..b8e86890da6 --- /dev/null +++ b/html/changelogs/RustingWithYou - eventjob.yml @@ -0,0 +1,41 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: RustingWithYou + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Adds event-only department jobs for ease of organization." diff --git a/maps/_common/mapsystem/map.dm b/maps/_common/mapsystem/map.dm index d715019e4bd..d1893a42261 100644 --- a/maps/_common/mapsystem/map.dm +++ b/maps/_common/mapsystem/map.dm @@ -124,6 +124,8 @@ map_levels = station_levels.Copy() if(!allowed_jobs) allowed_jobs = subtypesof(/datum/job) + for(var/thing in EVENT_ROLES) //ideally this should prevent event roles from being open on the horizon + allowed_jobs.Remove(thing) if (!spawn_types) spawn_types = subtypesof(/datum/spawnpoint) if(!LAZYLEN(planet_size))