diff --git a/code/__DEFINES/access.dm b/code/__DEFINES/access.dm
index be96a2e32b85..71b2b6f4b6ac 100644
--- a/code/__DEFINES/access.dm
+++ b/code/__DEFINES/access.dm
@@ -88,7 +88,7 @@ most of them are tied into map-placed objects. This should be reworked in the fu
#define ACCESS_WY_ARMORY 212
///Secret research or other projects with highly restricted access
#define ACCESS_WY_SECRETS 213
-
+#define ACCESS_WY_DATABASE 214
#define ACCESS_WY_LEADERSHIP 215
///Senior leadership, the highest ranks
#define ACCESS_WY_SENIOR_LEAD 216
diff --git a/code/__DEFINES/job.dm b/code/__DEFINES/job.dm
index f524ea7ccbed..5b295e68069f 100644
--- a/code/__DEFINES/job.dm
+++ b/code/__DEFINES/job.dm
@@ -172,25 +172,25 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST)
//------------------------------------
//-------- PMC --------//
-#define JOB_PMC_STANDARD "Weyland-Yutani PMC (Standard)"
+#define JOB_PMC_STANDARD "PMC Operator"
#define JOB_PMC_ENGINEER "PMC Corporate Technician"
#define JOB_PMC_MEDIC "PMC Corporate Medic"
#define JOB_PMC_DOCTOR "PMC Trauma Surgeon"
#define JOB_PMC_INVESTIGATOR "PMC Medical Investigator"
-#define JOB_PMC_DETAINER "Weyland-Yutani PMC (Detainer)"
-#define JOB_PMC_ELITE "PMC Elite"
+#define JOB_PMC_DETAINER "PMC Security Enforcer"
#define JOB_PMC_GUNNER "PMC Support Weapons Specialist" //Renamed from Specialist to Support Specialist as it only has SG skills.
#define JOB_PMC_SNIPER "PMC Weapons Specialist" //Renamed from Sharpshooter to specialist as it uses specialist skills.
-#define JOB_PMC_CREWMAN "Weyland-Yutani PMC (Crewman)"
-#define JOB_PMC_NINJA "PMC Ninja"
+#define JOB_PMC_CREWMAN "PMC Vehicle Crewman"
#define JOB_PMC_XENO_HANDLER "PMC Xeno Handler"
-#define JOB_PMC_COMMANDO "PMC Commando"
#define JOB_PMC_LEADER "PMC Leader"
#define JOB_PMC_LEAD_INVEST "PMC Lead Investigator"
#define JOB_PMC_DIRECTOR "PMC Site Director"
#define JOB_PMC_SYNTH "PMC Support Synthetic"
-#define JOB_PMC_GRUNT_LIST list(JOB_PMC_STANDARD, JOB_PMC_ENGINEER, JOB_PMC_MEDIC, JOB_PMC_INVESTIGATOR, JOB_PMC_DETAINER, JOB_PMC_ELITE, JOB_PMC_GUNNER, JOB_PMC_SNIPER, JOB_PMC_CREWMAN, JOB_PMC_NINJA, JOB_PMC_XENO_HANDLER, JOB_PMC_COMMANDO, JOB_PMC_LEADER, JOB_PMC_LEAD_INVEST)
+#define ROLES_WY_PMC list(JOB_PMC_LEADER, JOB_PMC_SNIPER, JOB_PMC_GUNNER, JOB_PMC_ENGINEER, JOB_PMC_MEDIC, JOB_PMC_STANDARD)
+#define ROLES_WY_PMC_AUX list(JOB_PMC_SYNTH, JOB_PMC_CREWMAN, JOB_PMC_XENO_HANDLER, JOB_PMC_DOCTOR)
+#define ROLES_WY_PMC_INSPEC list(JOB_PMC_LEAD_INVEST, JOB_PMC_INVESTIGATOR, JOB_PMC_DETAINER)
+#define ROLES_WY_PMC_ALL ROLES_WY_PMC + ROLES_WY_PMC_AUX + ROLES_WY_PMC_INSPEC
//-------- WY --------//
@@ -205,13 +205,16 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST)
#define JOB_CHIEF_EXECUTIVE "Corporate Chief Executive"
#define JOB_DIRECTOR "W-Y Director"
+#define ROLES_WY_CORPORATE list(JOB_EXECUTIVE_SUPERVISOR, JOB_EXECUTIVE_SPECIALIST, JOB_SENIOR_EXECUTIVE, JOB_EXECUTIVE, JOB_JUNIOR_EXECUTIVE, JOB_TRAINEE)
+#define ROLES_WY_LEADERSHIP list(JOB_DIRECTOR, JOB_PMC_DIRECTOR, JOB_CHIEF_EXECUTIVE, JOB_DIVISION_MANAGER, JOB_ASSISTANT_MANAGER)
+
//-------- WY Goons --------//
#define JOB_WY_GOON "WY Corporate Security"
#define JOB_WY_GOON_TECH "WY Corporate Security Technician"
#define JOB_WY_GOON_LEAD "WY Corporate Security Lead"
#define JOB_WY_GOON_RESEARCHER "WY Research Consultant"
-#define JOB_WY_GOON_LIST list(JOB_WY_GOON, JOB_WY_GOON_LEAD)
+#define ROLES_WY_GOONS list(JOB_WY_GOON_LEAD, JOB_WY_GOON_TECH, JOB_WY_GOON)
//---- Contractors ----//
#define JOB_CONTRACTOR "VAIPO Mercenary"
@@ -386,4 +389,4 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST)
///For denying certain traits being applied to people. ie. bad leg
///'Grunt' lists are for people who wouldn't logically get the bad leg trait, ie. UPP marine counterparts.
-#define JOB_ERT_GRUNT_LIST list(DUTCH_JOB_LIST, RIOT_JOB_LIST, PROVOST_JOB_LIST, CMB_GRUNT_LIST, CLF_JOB_LIST, UPP_JOB_GRUNT_LIST, UPP_COMMANDO_JOB_LIST, CONTRACTOR_JOB_LIST, JOB_WY_GOON_LIST, JOB_PMC_GRUNT_LIST)
+#define JOB_ERT_GRUNT_LIST list(DUTCH_JOB_LIST, RIOT_JOB_LIST, PROVOST_JOB_LIST, CMB_GRUNT_LIST, CLF_JOB_LIST, UPP_JOB_GRUNT_LIST, UPP_COMMANDO_JOB_LIST, CONTRACTOR_JOB_LIST, ROLES_WY_GOONS, ROLES_WY_PMC_ALL)
diff --git a/code/__DEFINES/sentry_laptop_configurations.dm b/code/__DEFINES/sentry_laptop_configurations.dm
index 6f4e2bec14ca..86c7e646c38a 100644
--- a/code/__DEFINES/sentry_laptop_configurations.dm
+++ b/code/__DEFINES/sentry_laptop_configurations.dm
@@ -1,6 +1,6 @@
-#define FACTION_WEYLAND "WY"
-#define FACTION_HUMAN "HUMAN"
-#define FACTION_COLONY "COLONY"
+#define SENTRY_FACTION_WEYLAND "WY"
+#define SENTRY_FACTION_HUMAN "HUMAN"
+#define SENTRY_FACTION_COLONY "COLONY"
#define ROF_SINGLE "SINGLE"
#define ROF_BURST "BURST"
diff --git a/code/datums/paygrades/factions/wy/wy.dm b/code/datums/paygrades/factions/wy/wy.dm
index b3ff70830603..17b46ff5790e 100644
--- a/code/datums/paygrades/factions/wy/wy.dm
+++ b/code/datums/paygrades/factions/wy/wy.dm
@@ -1,7 +1,7 @@
/datum/paygrade/wy_ranks
name = "WYC Paygrade"
pay_multiplier = 1
- default_faction = FACTION_WEYLAND
+ default_faction = FACTION_WY
/datum/paygrade/wy_ranks/wyc1
paygrade = PAY_SHORT_WYC1
diff --git a/code/datums/paygrades/paygrade.dm b/code/datums/paygrades/paygrade.dm
index 862dce0dfb0c..3befc979f2d2 100644
--- a/code/datums/paygrades/paygrade.dm
+++ b/code/datums/paygrades/paygrade.dm
@@ -42,7 +42,7 @@ GLOBAL_LIST_INIT(co_paygrades, list(
GLOB.uscm_officer_paygrades += paygrade
if(officer_grade >= GRADE_FLAG)
GLOB.uscm_highcom_paygrades += paygrade
- if(FACTION_WEYLAND,FACTION_PMC)
+ if(FACTION_WY,FACTION_PMC)
if(officer_grade >= GRADE_FLAG)
GLOB.wy_highcom_paygrades += paygrade
diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm
index 0d10b06d5fef..94e59cbd93ef 100644
--- a/code/game/jobs/access.dm
+++ b/code/game/jobs/access.dm
@@ -212,6 +212,7 @@
ACCESS_WY_PMC_TL,
ACCESS_WY_ARMORY,
ACCESS_WY_SECRETS,
+ ACCESS_WY_DATABASE,
ACCESS_WY_LEADERSHIP,
ACCESS_WY_SENIOR_LEAD,
) + get_access(ACCESS_LIST_COLONIAL_ALL)
@@ -236,6 +237,7 @@
ACCESS_WY_PMC,
ACCESS_WY_PMC_TL,
ACCESS_WY_ARMORY,
+ ACCESS_WY_DATABASE,
ACCESS_WY_LEADERSHIP,
ACCESS_WY_SENIOR_LEAD,
) + get_access(ACCESS_LIST_COLONIAL_ALL)
@@ -446,6 +448,40 @@
if(ACCESS_ARES_DEBUG)
return "AI Debug"
+/proc/get_region_accesses_wy(code)
+ switch(code)
+ if(0)//Everything
+ return get_access(ACCESS_LIST_WY_ALL)
+ if(1)//Corporate General
+ return list(ACCESS_WY_GENERAL, ACCESS_WY_COLONIAL, ACCESS_WY_EXEC)
+ if(2)//Corporate Security
+ return list(ACCESS_WY_SECURITY, ACCESS_WY_ARMORY)
+ if(3)//Corporate Departments
+ return list(ACCESS_WY_MEDICAL, ACCESS_WY_ENGINEERING, ACCESS_WY_FLIGHT, ACCESS_WY_RESEARCH)
+ if(4)//Corporate Leadership
+ return list(ACCESS_WY_LEADERSHIP, ACCESS_WY_SENIOR_LEAD, ACCESS_WY_SECRETS, ACCESS_WY_DATABASE)
+ if(5)//PMCs
+ return list(ACCESS_WY_PMC, ACCESS_WY_PMC_TL, ACCESS_WY_ARMORY)
+ if(6)//Civilian
+ return get_access(ACCESS_LIST_COLONIAL_ALL)
+
+/proc/get_region_accesses_name_wy(code)
+ switch(code)
+ if(0)
+ return "All"
+ if(1)
+ return "Corporate" // Security
+ if(2)
+ return "Corporate Security" // Medbay
+ if(3)
+ return "Corporate Departments" // Research
+ if(4)
+ return "Corporate Leadership" // Engineering
+ if(5)
+ return "Corporate PMCs" // Command
+ if(6)
+ return "Civilian" // Civilian
+
/proc/get_weyland_access_desc(A)
switch(A)
if(ACCESS_WY_GENERAL)
@@ -463,7 +499,7 @@
if(ACCESS_WY_RESEARCH)
return "Wey-Yu Research"
if(ACCESS_WY_EXEC)
- return "Wey-Yu Corporate"
+ return "Wey-Yu Executive"
if(ACCESS_WY_PMC)
return "Wey-Yu PMC"
if(ACCESS_WY_PMC_TL)
@@ -472,7 +508,23 @@
return "Wey-Yu Armory"
if(ACCESS_WY_SECRETS)
return "Wey-Yu HighSec"
+ if(ACCESS_WY_DATABASE)
+ return "Wey-Yu Database"
if(ACCESS_WY_LEADERSHIP)
return "Wey-Yu Leadership"
if(ACCESS_WY_SENIOR_LEAD)
return "Wey-Yu Senior Leadership"
+ if(ACCESS_CIVILIAN_RESEARCH)
+ return "Civilian Research"
+ if(ACCESS_CIVILIAN_COMMAND)
+ return "Civilian Command"
+ if(ACCESS_CIVILIAN_MEDBAY)
+ return "Civilian Medbay"
+ if(ACCESS_CIVILIAN_LOGISTICS)
+ return "Civilian Logistics"
+ if(ACCESS_CIVILIAN_ENGINEERING)
+ return "Civilian Engineering"
+ if(ACCESS_CIVILIAN_BRIG)
+ return "Civilian Brig"
+ if(ACCESS_CIVILIAN_PUBLIC)
+ return "Civilian"
diff --git a/code/game/jobs/job/special/weyland_yutani.dm b/code/game/jobs/job/special/weyland_yutani.dm
new file mode 100644
index 000000000000..d5f47331ca29
--- /dev/null
+++ b/code/game/jobs/job/special/weyland_yutani.dm
@@ -0,0 +1,110 @@
+/datum/job/special/wey_yu
+ supervisors = "Weyland-Yutani Corporate Office"
+ title = "Weyland-Yutani Representative"
+ selection_class = "job_cl"
+ flags_startup_parameters = ROLE_CUSTOM_SPAWN
+ gear_preset = /datum/equipment_preset/wy/trainee
+
+/datum/job/special/wey_yu/corporate/trainee
+ title = JOB_TRAINEE
+ gear_preset = /datum/equipment_preset/wy/trainee
+
+/datum/job/special/wey_yu/corporate/junior_exec
+ title = JOB_JUNIOR_EXECUTIVE
+ gear_preset = /datum/equipment_preset/wy/junior_exec
+
+/datum/job/special/wey_yu/corporate/exec
+ title = JOB_EXECUTIVE
+ gear_preset = /datum/equipment_preset/wy/exec
+
+/datum/job/special/wey_yu/corporate/senior_exec
+ title = JOB_SENIOR_EXECUTIVE
+ gear_preset = /datum/equipment_preset/wy/senior_exec
+
+/datum/job/special/wey_yu/corporate/exec_spec
+ title = JOB_EXECUTIVE_SPECIALIST
+ gear_preset = /datum/equipment_preset/wy/exec_spec
+
+/datum/job/special/wey_yu/corporate/exec_supr
+ title = JOB_EXECUTIVE_SUPERVISOR
+ gear_preset = /datum/equipment_preset/wy/exec_supervisor
+
+/datum/job/special/wey_yu/corporate/assist_man
+ title = JOB_ASSISTANT_MANAGER
+ gear_preset = /datum/equipment_preset/wy/manager/assistant_manager
+
+/datum/job/special/wey_yu/corporate/div_man
+ title = JOB_DIVISION_MANAGER
+ gear_preset = /datum/equipment_preset/wy/manager/division_manager
+ supervisors = "Weyland-Yutani Directorate"
+
+/datum/job/special/wey_yu/corporate/chief_exec
+ title = JOB_CHIEF_EXECUTIVE
+ gear_preset = /datum/equipment_preset/wy/manager/chief_executive
+ supervisors = "Weyland-Yutani Directorate"
+
+/datum/job/special/wey_yu/corporate/director
+ title = JOB_DIRECTOR
+ gear_preset = /datum/equipment_preset/wy/manager/director
+ supervisors = "Weyland-Yutani Directorate"
+
+
+// PMCS //
+/datum/job/special/wey_yu/pmc
+ supervisors = "Weyland-Yutani PMC Dispatch"
+
+/datum/job/special/wey_yu/pmc/standard
+ title = JOB_PMC_STANDARD
+ gear_preset = /datum/equipment_preset/pmc/pmc_standard
+
+/datum/job/special/wey_yu/pmc/medic
+ title = JOB_PMC_MEDIC
+ gear_preset = /datum/equipment_preset/pmc/pmc_medic
+
+/datum/job/special/wey_yu/pmc/engineer
+ title = JOB_PMC_ENGINEER
+ gear_preset = /datum/equipment_preset/pmc/technician
+
+/datum/job/special/wey_yu/pmc/gunner
+ title = JOB_PMC_GUNNER
+ gear_preset = /datum/equipment_preset/pmc/pmc_gunner
+
+/datum/job/special/wey_yu/pmc/sniper
+ title = JOB_PMC_SNIPER
+ gear_preset = /datum/equipment_preset/pmc/pmc_sniper
+
+/datum/job/special/wey_yu/pmc/leader
+ title = JOB_PMC_LEADER
+ gear_preset = /datum/equipment_preset/pmc/pmc_leader
+
+/datum/job/special/wey_yu/pmc/investigator
+ title = JOB_PMC_INVESTIGATOR
+ gear_preset = /datum/equipment_preset/pmc/pmc_med_investigator
+
+/datum/job/special/wey_yu/pmc/lead_invest
+ title = JOB_PMC_LEAD_INVEST
+ gear_preset = /datum/equipment_preset/pmc/pmc_lead_investigator
+
+/datum/job/special/wey_yu/pmc/detainer
+ title = JOB_PMC_DETAINER
+ gear_preset = /datum/equipment_preset/pmc/pmc_detainer
+
+/datum/job/special/wey_yu/pmc/crewman
+ title = JOB_PMC_CREWMAN
+ gear_preset = /datum/equipment_preset/pmc/pmc_crewman
+
+/datum/job/special/wey_yu/pmc/doctor
+ title = JOB_PMC_DOCTOR
+ gear_preset = /datum/equipment_preset/pmc/doctor
+
+/datum/job/special/wey_yu/pmc/handler
+ title = JOB_PMC_XENO_HANDLER
+ gear_preset = /datum/equipment_preset/pmc/xeno_handler
+
+/datum/job/special/wey_yu/pmc/synth
+ title = JOB_PMC_SYNTH
+ gear_preset = /datum/equipment_preset/pmc/synth
+
+/datum/job/special/wey_yu/pmc/director
+ title = JOB_PMC_DIRECTOR
+ gear_preset = /datum/equipment_preset/pmc/director
diff --git a/code/modules/cm_marines/marines_consoles.dm b/code/modules/cm_marines/marines_consoles.dm
index e02bb930d416..6d1aba4aca70 100644
--- a/code/modules/cm_marines/marines_consoles.dm
+++ b/code/modules/cm_marines/marines_consoles.dm
@@ -8,6 +8,14 @@
#define CARDCON_DEPARTMENT_ENGINEERING "Engineering"
#define CARDCON_DEPARTMENT_COMMAND "Command"
+// Weyland Yutani Categories
+#define CARDCON_DEPARTMENT_CORP_LEAD "Corporate Leadership"
+#define CARDCON_DEPARTMENT_CORP_SECURITY "Corporate Security"
+#define CARDCON_DEPARTMENT_CORPORATE "Corporate Employees"
+#define CARDCON_DEPARTMENT_PMC "PMC Combat Ops"
+#define CARDCON_DEPARTMENT_INSPECTION "PMC Investigations"
+#define CARDCON_DEPARTMENT_SPECIALTY "PMC Specialists"
+
/obj/structure/machinery/computer/card
name = "Identification Computer"
desc = "Terminal for programming USCM employee ID card access."
@@ -20,9 +28,14 @@
var/list/factions = list(FACTION_MARINE)
var/printing
- var/is_centcom = FALSE
+ var/is_weyland = FALSE
var/authenticated = FALSE
+/obj/structure/machinery/computer/card/wey_yu
+ is_weyland = TRUE
+ req_access = list(ACCESS_WY_DATABASE)
+ factions = list(FACTION_WY, FACTION_PMC)
+
/obj/structure/machinery/computer/card/proc/authenticate(mob/user, obj/item/card/id/id_card)
if(!id_card)
visible_message("[SPAN_BOLD("[src]")] states, \"AUTH ERROR: Authority confirmation card is missing!\"")
@@ -192,7 +205,7 @@
target_id_card.assignment = custom_name
else
var/list/new_access = list()
- if(is_centcom)
+ if(is_weyland)
new_access = get_access(ACCESS_LIST_WY_ALL)
else
var/datum/job/job = GLOB.RoleAuthority.roles_for_mode[target]
@@ -223,7 +236,7 @@
log_idmod(target_id_card, " [user.real_name] granted [access_type] IFF. ", key_name_admin(user))
return TRUE
access_type = text2num(params["access_target"])
- if(access_type in (is_centcom ? get_access(ACCESS_LIST_WY_ALL) : get_access(ACCESS_LIST_MARINE_MAIN)))
+ if(access_type in (is_weyland ? get_access(ACCESS_LIST_WY_ALL) : get_access(ACCESS_LIST_MARINE_MAIN)))
if(access_type in target_id_card.access)
target_id_card.access -= access_type
log_idmod(target_id_card, " [user.real_name] revoked access '[get_access_desc(access_type)]'. ", key_name_admin(user))
@@ -235,7 +248,7 @@
if(!authenticated || !target_id_card)
return
- target_id_card.access |= (is_centcom ? get_access(ACCESS_LIST_WY_ALL) : get_access(ACCESS_LIST_MARINE_MAIN))
+ target_id_card.access |= (is_weyland ? get_access(ACCESS_LIST_WY_ALL) : get_access(ACCESS_LIST_MARINE_MAIN))
target_id_card.faction_group |= factions
log_idmod(target_id_card, " [user.real_name] granted the ID all access and USCM IFF. ", key_name_admin(user))
return TRUE
@@ -290,12 +303,19 @@
/obj/structure/machinery/computer/card/ui_static_data(mob/user)
var/list/data = list()
data["station_name"] = MAIN_SHIP_NAME
- data["centcom_access"] = is_centcom
+ data["weyland_access"] = is_weyland
data["manifest"] = GLOB.data_core.get_manifest(FALSE, FALSE, TRUE)
var/list/departments
- if(is_centcom)
- departments = list("CentCom" = get_all_centcom_jobs())
+ if(is_weyland)
+ departments = list(
+ CARDCON_DEPARTMENT_CORP_LEAD = ROLES_WY_LEADERSHIP,
+ CARDCON_DEPARTMENT_CORP_SECURITY = ROLES_WY_GOONS,
+ CARDCON_DEPARTMENT_CORPORATE = ROLES_WY_CORPORATE,
+ CARDCON_DEPARTMENT_PMC = ROLES_WY_PMC,
+ CARDCON_DEPARTMENT_SPECIALTY = ROLES_WY_PMC_AUX,
+ CARDCON_DEPARTMENT_INSPECTION = ROLES_WY_PMC_INSPEC,
+ )
else if(Check_WO())
// I am not sure about WOs departments so it may need adjustment
departments = list(
@@ -332,18 +352,26 @@
data["jobs"][department] = department_jobs
var/list/regions = list()
- for(var/i in 1 to 7)
+ for(var/i in 1 to is_weyland ? 6 : 7)
var/list/accesses = list()
- for(var/access in get_region_accesses(i))
- if (get_access_desc(access))
- accesses += list(list(
- "desc" = replacetext(get_access_desc(access), " ", " "),
- "ref" = access,
- ))
+ if(!is_weyland)
+ for(var/access in get_region_accesses(i))
+ if(get_access_desc(access))
+ accesses += list(list(
+ "desc" = replacetext(get_access_desc(access), " ", " "),
+ "ref" = access,
+ ))
+ else
+ for(var/access in get_region_accesses_wy(i))
+ if(get_weyland_access_desc(access))
+ accesses += list(list(
+ "desc" = replacetext(get_weyland_access_desc(access), " ", " "),
+ "ref" = access,
+ ))
regions += list(list(
- "name" = get_region_accesses_name(i),
+ "name" = is_weyland ? get_region_accesses_name_wy(i) : get_region_accesses_name(i),
"regid" = i,
"accesses" = accesses
))
@@ -475,6 +503,13 @@
#undef CARDCON_DEPARTMENT_ENGINEERING
#undef CARDCON_DEPARTMENT_COMMAND
+#undef CARDCON_DEPARTMENT_CORP_LEAD
+#undef CARDCON_DEPARTMENT_CORP_SECURITY
+#undef CARDCON_DEPARTMENT_CORPORATE
+#undef CARDCON_DEPARTMENT_PMC
+#undef CARDCON_DEPARTMENT_INSPECTION
+#undef CARDCON_DEPARTMENT_SPECIALTY
+
//This console changes a marine's squad. It's very simple.
//It also does not: change or increment the squad count (used in the login randomizer), nor does it check for jobs.
//Which means you could get sillyiness like "Alpha Sulaco Chief Medical Officer" or "Delta Logistics Officer".
@@ -724,7 +759,10 @@
/obj/structure/machinery/computer/crew/clf
faction = FACTION_CLF
-/obj/structure/machinery/computer/crew/pmc
+/obj/structure/machinery/computer/crew/wey_yu
+ faction = FACTION_WY
+
+/obj/structure/machinery/computer/crew/wey_yu/pmc
faction = FACTION_PMC
/obj/structure/machinery/computer/crew/colony
@@ -1029,7 +1067,8 @@ GLOBAL_LIST_EMPTY_TYPED(crewmonitor, /datum/crewmonitor)
JOB_JUNIOR_EXECUTIVE = 24,
// 30-39: Security
JOB_WY_GOON_LEAD = 30,
- JOB_WY_GOON = 31,
+ JOB_WY_GOON_TECH = 32,
+ JOB_WY_GOON = 32,
// 40-49: MedSci
JOB_PMC_SYNTH = 40,
JOB_PMC_XENO_HANDLER = 41,
diff --git a/code/modules/defenses/bell_tower.dm b/code/modules/defenses/bell_tower.dm
index b4741734e0f4..68d58f02b481 100644
--- a/code/modules/defenses/bell_tower.dm
+++ b/code/modules/defenses/bell_tower.dm
@@ -18,7 +18,7 @@
can_be_near_defense = TRUE
choice_categories = list(
- SENTRY_CATEGORY_IFF = list(FACTION_MARINE, FACTION_WEYLAND, FACTION_HUMAN),
+ SENTRY_CATEGORY_IFF = list(FACTION_MARINE, SENTRY_FACTION_WEYLAND, SENTRY_FACTION_HUMAN),
)
selected_categories = list(
diff --git a/code/modules/defenses/defenses.dm b/code/modules/defenses/defenses.dm
index b5e5cdf55766..a29941fd0c6c 100644
--- a/code/modules/defenses/defenses.dm
+++ b/code/modules/defenses/defenses.dm
@@ -138,11 +138,11 @@
switch(selection)
if(FACTION_MARINE)
faction_group = FACTION_LIST_MARINE
- if(FACTION_WEYLAND)
+ if(SENTRY_FACTION_WEYLAND)
faction_group = FACTION_LIST_MARINE_WY
- if(FACTION_HUMAN)
+ if(SENTRY_FACTION_HUMAN)
faction_group = FACTION_LIST_HUMANOID
- if(FACTION_COLONY)
+ if(SENTRY_FACTION_COLONY)
faction_group = list(FACTION_MARINE, FACTION_COLONIST)
diff --git a/code/modules/defenses/planted_flag.dm b/code/modules/defenses/planted_flag.dm
index 12bcab9b0475..fc50b6ba53f0 100644
--- a/code/modules/defenses/planted_flag.dm
+++ b/code/modules/defenses/planted_flag.dm
@@ -16,7 +16,7 @@
can_be_near_defense = TRUE
choice_categories = list(
- SENTRY_CATEGORY_IFF = list(FACTION_MARINE, FACTION_WEYLAND, FACTION_HUMAN),
+ SENTRY_CATEGORY_IFF = list(FACTION_MARINE, SENTRY_FACTION_WEYLAND, SENTRY_FACTION_HUMAN),
)
selected_categories = list(
diff --git a/code/modules/defenses/sentry.dm b/code/modules/defenses/sentry.dm
index 543dfcefe5bc..3a8a50b5eed7 100644
--- a/code/modules/defenses/sentry.dm
+++ b/code/modules/defenses/sentry.dm
@@ -45,7 +45,7 @@
/// action list is configurable for all subtypes, this is just an example
choice_categories = list(
// SENTRY_CATEGORY_ROF = list(ROF_SINGLE, ROF_BURST, ROF_FULL_AUTO),
- SENTRY_CATEGORY_IFF = list(FACTION_MARINE, FACTION_WEYLAND, FACTION_HUMAN),
+ SENTRY_CATEGORY_IFF = list(FACTION_MARINE, SENTRY_FACTION_WEYLAND, SENTRY_FACTION_HUMAN),
)
selected_categories = list(
@@ -523,8 +523,8 @@
/obj/structure/machinery/defenses/sentry/premade/deployable/colony/Initialize()
. = ..()
- choice_categories[SENTRY_CATEGORY_IFF] = list(FACTION_COLONY, FACTION_WEYLAND)
- selected_categories[SENTRY_CATEGORY_IFF] = FACTION_COLONY
+ choice_categories[SENTRY_CATEGORY_IFF] = list(SENTRY_FACTION_COLONY, SENTRY_FACTION_WEYLAND)
+ selected_categories[SENTRY_CATEGORY_IFF] = SENTRY_FACTION_COLONY
/obj/structure/machinery/defenses/sentry/premade/deployable/almayer
name = "UA-635C Static Gauss Turret"
@@ -579,7 +579,7 @@
handheld_type = /obj/item/defenses/handheld/sentry/dmr
choice_categories = list(
- SENTRY_CATEGORY_IFF = list(FACTION_MARINE, FACTION_WEYLAND, FACTION_HUMAN),
+ SENTRY_CATEGORY_IFF = list(FACTION_MARINE, SENTRY_FACTION_WEYLAND, SENTRY_FACTION_HUMAN),
)
selected_categories = list(
diff --git a/code/modules/defenses/sentry_flamer.dm b/code/modules/defenses/sentry_flamer.dm
index f884b4ec5d14..711bdaa54857 100644
--- a/code/modules/defenses/sentry_flamer.dm
+++ b/code/modules/defenses/sentry_flamer.dm
@@ -11,7 +11,7 @@
choice_categories = list(
// SENTRY_CATEGORY_ROF = list(ROF_SINGLE, ROF_FULL_AUTO),
- SENTRY_CATEGORY_IFF = list(FACTION_MARINE, FACTION_WEYLAND, FACTION_HUMAN),
+ SENTRY_CATEGORY_IFF = list(FACTION_MARINE, SENTRY_FACTION_WEYLAND, SENTRY_FACTION_HUMAN),
)
selected_categories = list(
diff --git a/code/modules/defenses/tesla_coil.dm b/code/modules/defenses/tesla_coil.dm
index cb0646b29775..0eab59e7d7c4 100644
--- a/code/modules/defenses/tesla_coil.dm
+++ b/code/modules/defenses/tesla_coil.dm
@@ -20,7 +20,7 @@
has_camera = FALSE
choice_categories = list(
- SENTRY_CATEGORY_IFF = list(FACTION_MARINE, FACTION_WEYLAND, FACTION_HUMAN),
+ SENTRY_CATEGORY_IFF = list(FACTION_MARINE, SENTRY_FACTION_WEYLAND, SENTRY_FACTION_HUMAN),
)
selected_categories = list(
diff --git a/colonialmarines.dme b/colonialmarines.dme
index e7f280cd99df..e97ca229b9d8 100644
--- a/colonialmarines.dme
+++ b/colonialmarines.dme
@@ -829,6 +829,7 @@
#include "code\game\jobs\job\special\provost.dm"
#include "code\game\jobs\job\special\uaac.dm"
#include "code\game\jobs\job\special\uscm.dm"
+#include "code\game\jobs\job\special\weyland_yutani.dm"
#include "code\game\machinery\aicore_lockdown.dm"
#include "code\game\machinery\air_alarm.dm"
#include "code\game\machinery\air_sensor.dm"