diff --git a/code/__DEFINES/background.dm b/code/__DEFINES/background.dm index 8f9aa929d03..d127cef0d3b 100644 --- a/code/__DEFINES/background.dm +++ b/code/__DEFINES/background.dm @@ -23,6 +23,7 @@ #define CITIZENSHIP_ZORA "Zo'ra Hive" #define CITIZENSHIP_KLAX "K'lax Hive" #define CITIZENSHIP_CTHUR "C'thur Hive" +#define CITIZENSHIP_LIIKENKA "Undercover Lii'kenka" #define CITIZENSHIP_NONE "None" #define CITIZENSHIP_GOLDEN "Golden Deep" @@ -237,4 +238,4 @@ #define ALL_CITIZENSHIPS list(CITIZENSHIP_BIESEL, CITIZENSHIP_SOL, CITIZENSHIP_COALITION, CITIZENSHIP_ELYRA, CITIZENSHIP_ELYRA,\ CITIZENSHIP_ELYRA_NCP, CITIZENSHIP_ERIDANI, CITIZENSHIP_DOMINIA, CITIZENSHIP_IZWESKI, CITIZENSHIP_NRALAKK,\ CITIZENSHIP_PRA, CITIZENSHIP_DPRA, CITIZENSHIP_NKA, CITIZENSHIP_FREE_COUNCIL, CITIZENSHIP_ZORA, CITIZENSHIP_KLAX, CITIZENSHIP_CTHUR,\ -CITIZENSHIP_NONE, CITIZENSHIP_GOLDEN, CITIZENSHIP_CONSORTIUM, CITIZENSHIP_GLAORR, CITIZENSHIP_EKANE) +CITIZENSHIP_NONE, CITIZENSHIP_GOLDEN, CITIZENSHIP_CONSORTIUM, CITIZENSHIP_GLAORR, CITIZENSHIP_EKANE, CITIZENSHIP_LIIKENKA) diff --git a/code/controllers/subsystems/records.dm b/code/controllers/subsystems/records.dm index cc0c6ac53b8..14b6db03a9d 100644 --- a/code/controllers/subsystems/records.dm +++ b/code/controllers/subsystems/records.dm @@ -355,6 +355,19 @@ SUBSYSTEM_DEF(records) if(religion) return religion.get_records_name() +/** + * Gets the name of the citizenship to show on records and ID + * + * * target_citizenship - The citizenship to get the name for, one of the CITIZENSHIP_* constants + * + * Returns the name of the citizenship (string) or null if the citizenship is not found + */ +/datum/controller/subsystem/records/proc/get_citizenship_record_name(var/target_citizenship) + SHOULD_NOT_SLEEP(TRUE) + var/datum/citizenship/citizenship = SSrecords.citizenships[target_citizenship] + if(citizenship) + return citizenship.get_records_name() + /datum/controller/subsystem/records/proc/compute_localized_field(var/type) if(!localized_fields[type]) return diff --git a/code/datums/records.dm b/code/datums/records.dm index 6acadb924f2..c508c9cddde 100644 --- a/code/datums/records.dm +++ b/code/datums/records.dm @@ -163,7 +163,7 @@ fingerprint = md5(H.dna.uni_identity) sex = H.species.get_species_record_sex(H) species = H.get_species(FALSE, TRUE) - citizenship = H.citizenship + citizenship = SSrecords.get_citizenship_record_name(H.citizenship) employer = H.employer_faction religion = SSrecords.get_religion_record_name(H.religion) ccia_record = H.ccia_record diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 3fac4e551f5..7f5cb873818 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -179,7 +179,7 @@ var/const/NO_EMAG_ACT = -50 /mob/living/carbon/human/set_id_info(var/obj/item/card/id/id_card) ..() id_card.age = age - id_card.citizenship = citizenship + id_card.citizenship = SSrecords.get_citizenship_record_name(citizenship) id_card.mob_id = WEAKREF(src) id_card.employer_faction = employer_faction diff --git a/code/modules/background/citizenship/citizenship.dm b/code/modules/background/citizenship/citizenship.dm index 04d4f9ee9f0..e59c96c02e5 100644 --- a/code/modules/background/citizenship/citizenship.dm +++ b/code/modules/background/citizenship/citizenship.dm @@ -23,3 +23,6 @@ return rep_objectives + +/datum/citizenship/proc/get_records_name() + return name diff --git a/code/modules/background/citizenship/ipc.dm b/code/modules/background/citizenship/ipc.dm index eef7798979b..2e4aa8b54cd 100644 --- a/code/modules/background/citizenship/ipc.dm +++ b/code/modules/background/citizenship/ipc.dm @@ -1,6 +1,6 @@ /datum/citizenship/none name = CITIZENSHIP_NONE - description = "Not being a citizen of any state is a common situation for owned ipcs and dionae." + description = "Not being a citizen of any state is a common situation for owned IPCs and Dionae." /datum/citizenship/golden_deep name = CITIZENSHIP_GOLDEN diff --git a/code/modules/background/citizenship/vaurca.dm b/code/modules/background/citizenship/vaurca.dm index b6d42e6dd8a..884fe52427d 100644 --- a/code/modules/background/citizenship/vaurca.dm +++ b/code/modules/background/citizenship/vaurca.dm @@ -218,3 +218,16 @@ if(!visualsOnly) addtimer(CALLBACK(src, PROC_REF(send_representative_mission), H), 5 MINUTES) return TRUE + +/datum/citizenship/liikenka + name = CITIZENSHIP_LIIKENKA + description = "A group of Punished C'thur residing in Phoenixport and on Mictlan, the majority of Lii'kenka opt to remain undercover as \ + members of the C'thur brood in disguise, falsifying their Vaurca Office of Administrative Services documents in order to have fake Nralakk Federation citizenship." + + job_species_blacklist = list( + "Consular Officer" = ALL_SPECIES, + "Diplomatic Aide" = ALL_SPECIES + ) + +/datum/citizenship/liikenka/get_records_name() + return CITIZENSHIP_NRALAKK diff --git a/code/modules/background/origins/origins/vaurca/cthur.dm b/code/modules/background/origins/origins/vaurca/cthur.dm index 83bf01af57b..3371c30d3ec 100644 --- a/code/modules/background/origins/origins/vaurca/cthur.dm +++ b/code/modules/background/origins/origins/vaurca/cthur.dm @@ -6,7 +6,8 @@ /singleton/origin_item/origin/mouv, /singleton/origin_item/origin/vytel, /singleton/origin_item/origin/xetl, - /singleton/origin_item/origin/klatxatl + /singleton/origin_item/origin/klatxatl, + /singleton/origin_item/origin/liikenka ) origin_traits_descriptions = list("can speak Nral'malic") @@ -54,8 +55,17 @@ possible_religions = list(RELIGION_HIVEPANTHEON, RELIGION_PREIMMINENNCE, RELIGION_NONE) /singleton/origin_item/origin/klatxatl - name = "Klatxatl" + name = "Klat'xatl" desc = "This term is employed for the 'Punished' or rejected groups of the C'thur. In a short time, they have lost ties with the broader Hive, and have formed a culture of their own." possible_accents = list(ACCENT_CTHUR, ACCENT_TTS) possible_citizenships = list(CITIZENSHIP_NONE) possible_religions = list(RELIGION_HIVEPANTHEON, RELIGION_PREIMMINENNCE, RELIGION_OTHER, RELIGION_NONE) + +/singleton/origin_item/origin/liikenka + name = "Lii'kenka" + desc = "The Lii'kenka are a group of Punished Vaurcae who reside primarily in Phoenixport and on Mictlan. Preferring to be called the Kynyk among themselves, most remain in secrecy." + important_information = "Playing as an undercover Lii'kenka could result in your character being punished by the Stellar Corporate Conglomerate or the C'thur Hive. Lii'kenka born before 2461 will match the carapace color of the C'thur brood, while younger Lii'kenka will have slightly off coloration. Undercover Lii'kenka should take the corresponding citizenship option, while those who openly identify as Kynyk should publicly declare no citizenship." + possible_accents = list(ACCENT_CTHUR, ACCENT_TTS) + possible_citizenships = list(CITIZENSHIP_LIIKENKA, CITIZENSHIP_NONE) + possible_religions = list(RELIGION_HIVEPANTHEON, RELIGION_PREIMMINENNCE, RELIGION_OTHER, RELIGION_NONE) + diff --git a/html/changelogs/SimpleMaroon-liikenkasisters.yml b/html/changelogs/SimpleMaroon-liikenkasisters.yml new file mode 100644 index 00000000000..35373e2b016 --- /dev/null +++ b/html/changelogs/SimpleMaroon-liikenkasisters.yml @@ -0,0 +1,61 @@ +################################ +# 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 +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: SimpleMaroon + +# 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, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added a Lii'kenka origin for the corresponding faction in Vaurca lore. It includes a unique citizenship option that will show on records and ID as Nralakk Federation citizenship for those who want to be undercover." + - qol: "Added the functionality of returning a different name on records than the actual name for citizenship." + - spellcheck: "Capitalized 'ipcs' and 'dionae' for the N/A citizenship description." + - spellcheck: "Included an apostrophe in the 'Klatxatl' origin."