Factions may now have their own specific job blacklists for species + some blacklists (#9532)

* Factions may now have their own specific job blacklists for species.

* Fixes CL blacklists for NT, EPMC, Heph, Idris, Zavod and Zeng-Hu

* Update changelog.

Co-authored-by: ParadoxSpace <takyahasu@gmail.com>
This commit is contained in:
mikomyazaki
2020-08-20 21:27:15 +01:00
committed by GitHub
parent 1a21676536
commit 4e0e08c447
11 changed files with 91 additions and 11 deletions

View File

@@ -50,6 +50,18 @@
"Corporate Liaison" = /datum/outfit/job/representative/eridani
)
job_species_blacklist = list(
"Corporate Liaison" = list(
"Tajara",
"M'sai Tajara",
"Zhan-Khazan Tajara",
"Diona",
"Vaurca Worker",
"Vaurca Warrior",
"Unathi"
)
)
/datum/outfit/job/officer/eridani
name = "Security Officer - Eridani"
uniform = /obj/item/clothing/under/rank/security/eridani

View File

@@ -5,6 +5,7 @@
var/list/allowed_role_types
var/list/allowed_species_types
var/list/job_species_blacklist //will override the normal job species list for a member of this faction
var/is_default = FALSE
@@ -25,7 +26,10 @@
. = list()
for (var/path in allowed_role_types)
. += SSjobs.type_occupations[path]
var/datum/job/role = SSjobs.type_occupations[path]
if(LAZYACCESS(job_species_blacklist, role.title))
role.blacklisted_species = job_species_blacklist[role.title]
. += role
/datum/faction/proc/get_selection_error(datum/preferences/prefs)
if (!length(allowed_species_types))
@@ -60,4 +64,4 @@
objective = pick("Collect [rand(3,7)] pictures of secure station areas",
"Make sure that [rand(2,4)] complaints related to contractors are solved on the station")
return objective
return objective

View File

@@ -68,6 +68,13 @@
"Corporate Liaison" = /datum/outfit/job/representative/hephaestus
)
job_species_blacklist = list(
"Corporate Liaison" = list(
"Vaurca Worker",
"Vaurca Warrior"
)
)
/datum/outfit/job/engineer/hephaestus
name = "Station Engineer - Hephaestus"
uniform = /obj/item/clothing/under/rank/hephaestus

View File

@@ -63,6 +63,17 @@
"Corporate Liaison" = /datum/outfit/job/representative/idris
)
job_species_blacklist = list(
"Corporate Liaison" = list(
"Tajara",
"M'sai Tajara",
"Zhan-Khazan Tajara",
"Unathi",
"Vaurca Worker",
"Vaurca Warrior"
)
)
/datum/outfit/job/officer/idris
name = "Security Officer - Idris"
uniform = /obj/item/clothing/under/rank/security/idris

View File

@@ -5,6 +5,14 @@
is_default = TRUE
job_species_blacklist = list(
"Corporate Liaison" = list(
"Diona",
"Vaurca Worker",
"Vaurca Warrior",
)
)
/datum/faction/nano_trasen/New()
..()

View File

@@ -9,9 +9,6 @@
Dominia, and are at the forefront of weapons development technology.
</p>
<p><font size='5' color='red'><b> DO NOT PLAY AN IPC AS A ZAVODSKOI LIAISON, THIS IS UNINTENDED. JOINING AS ONE WILL RESULT IN AN IPC/HEAD WHITELIST STRIP.</b></font>
</p>
<p>Some character examples are:
<ul>
<li><b>Surgical Specialist</b>: Unit to unit Zavodskoi ships the most firearms and weapons compared
@@ -52,6 +49,22 @@
/datum/species/machine
)
job_species_blacklist = list(
"Corporate Liaison" = list(
"Baseline Frame",
"Hephaestus G1 Industrial Frame",
"Hephaestus G2 Industrial Frame",
"Xion Industrial Frame",
"Zeng-Hu Mobility Frame",
"Bishop Accessory Frame",
"Shell Frame",
"Unathi",
"Tajara",
"M'sai Tajara",
"Zhan-Khazan Tajara"
)
)
titles_to_loadout = list(
"Security Officer" = /datum/outfit/job/officer/zavodskoi,
"Surgeon" = /datum/outfit/job/doctor/zavodskoi,

View File

@@ -68,6 +68,17 @@
"Corporate Liaison" = /datum/outfit/job/representative/zeng_hu
)
job_species_blacklist = list(
"Corporate Liaison" = list(
"Unathi",
"Tajara",
"M'sai Tajara",
"Zhan-Khazan Tajara",
"Vaurca Worker",
"Vaurca Warrior"
)
)
/datum/outfit/job/doctor/zeng_hu
name = "Physician - Zeng-Hu"
uniform = /obj/item/clothing/under/rank/zeng

View File

@@ -18,8 +18,6 @@
outfit = /datum/outfit/job/representative
alt_titles = list("Consular Officer")
blacklisted_species = list("M'sai Tajara", "Zhan-Khazan Tajara")
/datum/job/representative/get_outfit(mob/living/carbon/human/H, alt_title = null)
if(H.mind?.role_alt_title == "Consular Officer" || alt_title == "Consular Officer")
var/datum/citizenship/citizenship = SSrecords.citizenships[H.citizenship]

View File

@@ -1,4 +1,4 @@
var/const/NUM_JOB_DEPTS = 3 //ENGSEC, MEDSCI and CIVILIAN
var/const/ENGSEC =(1<<0)
var/const/CAPTAIN =(1<<0)