mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-16 02:17:06 +01:00
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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -5,6 +5,14 @@
|
||||
|
||||
is_default = TRUE
|
||||
|
||||
job_species_blacklist = list(
|
||||
"Corporate Liaison" = list(
|
||||
"Diona",
|
||||
"Vaurca Worker",
|
||||
"Vaurca Warrior",
|
||||
)
|
||||
)
|
||||
|
||||
/datum/faction/nano_trasen/New()
|
||||
..()
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
var/const/NUM_JOB_DEPTS = 3 //ENGSEC, MEDSCI and CIVILIAN
|
||||
var/const/ENGSEC =(1<<0)
|
||||
|
||||
var/const/CAPTAIN =(1<<0)
|
||||
|
||||
@@ -281,10 +281,20 @@
|
||||
/datum/category_item/player_setup_item/occupation/proc/sanitize_faction()
|
||||
if (!SSjobs.name_factions[pref.faction])
|
||||
pref.faction = SSjobs.default_faction.name
|
||||
|
||||
to_client_chat("<span class='danger'>Your faction selection has been reset to [pref.faction].</span>")
|
||||
to_client_chat("<span class='danger'>Your jobs have been reset due to this!</span>")
|
||||
to_client_chat(SPAN_DANGER("Your faction selection has been reset to [pref.faction]."))
|
||||
to_client_chat(SPAN_DANGER("Your jobs have been reset due to this!"))
|
||||
ResetJobs()
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
var/datum/faction/faction = SSjobs.name_factions[pref.faction]
|
||||
for(var/datum/job/job in faction.get_occupations())
|
||||
for(var/department = 1 to NUM_JOB_DEPTS)
|
||||
if(pref.GetJobDepartment(job, department) & job.flag)
|
||||
if(pref.species in job.blacklisted_species)
|
||||
to_client_chat(SPAN_DANGER("Your faction selection does not permit this species-occupation combination, [pref.species] as [job.title]."))
|
||||
to_client_chat(SPAN_DANGER("Your jobs have been reset due to this!"))
|
||||
ResetJobs()
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
/datum/category_item/player_setup_item/occupation/proc/SetPlayerAltTitle(datum/job/job, new_title)
|
||||
// remove existing entry
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
author: ParadoxSpace & mikomyazaki
|
||||
|
||||
delete-after: True
|
||||
|
||||
changes:
|
||||
- tweak: "Corp. Liason species blacklists have been updated for NT, EPMC, Hephaestus, Idris, Zavodskoi, Zeng-Hu."
|
||||
Reference in New Issue
Block a user