From f49ff8a23e93e2e6da56fd2a20f22e39ede8ab10 Mon Sep 17 00:00:00 2001
From: Killian <49700375+KillianKirilenko@users.noreply.github.com>
Date: Sat, 25 Feb 2023 07:46:47 +0000
Subject: [PATCH] seperate birthplace option
---
code/datums/datacore.dm | 3 +++
code/datums/uplink/announcements.dm | 1 +
code/game/objects/items/devices/uplink.dm | 1 +
.../preference_setup/general/05_background.dm | 25 ++++++++++++++++---
code/modules/client/preferences.dm | 5 ++--
code/modules/client/preferences_factions.dm | 10 +++++---
code/modules/mob/living/carbon/human/human.dm | 1 +
.../mob/living/carbon/human/human_defines.dm | 1 +
tgui/packages/tgui/interfaces/Uplink.js | 1 +
9 files changed, 38 insertions(+), 10 deletions(-)
diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm
index 04f489be7c..de0fbec90a 100644
--- a/code/datums/datacore.dm
+++ b/code/datums/datacore.dm
@@ -357,6 +357,7 @@ var/global/list/PDA_Manifest = list()
G.fields["sex"] = gender2text(H.gender)
G.fields["species"] = H.get_species()
G.fields["home_system"] = H.home_system
+ G.fields["birthplace"] = H.birthplace
G.fields["citizenship"] = H.citizenship
G.fields["faction"] = H.personal_faction
G.fields["religion"] = H.religion
@@ -403,6 +404,7 @@ var/global/list/PDA_Manifest = list()
L.fields["identity"] = H.dna.UI // "
L.fields["species"] = H.get_species()
L.fields["home_system"] = H.home_system
+ L.fields["birthplace"] = H.birthplace
L.fields["citizenship"] = H.citizenship
L.fields["faction"] = H.personal_faction
L.fields["religion"] = H.religion
@@ -448,6 +450,7 @@ var/global/list/PDA_Manifest = list()
G.fields["m_stat"] = "Stable"
G.fields["species"] = SPECIES_HUMAN
G.fields["home_system"] = "Unknown"
+ G.fields["birthplace"] = "Unknown"
G.fields["citizenship"] = "Unknown"
G.fields["faction"] = "Unknown"
G.fields["religion"] = "Unknown"
diff --git a/code/datums/uplink/announcements.dm b/code/datums/uplink/announcements.dm
index f6742fb815..5bc7dde793 100644
--- a/code/datums/uplink/announcements.dm
+++ b/code/datums/uplink/announcements.dm
@@ -74,6 +74,7 @@
general.fields["faction"] = random_general_record.fields["faction"]
general.fields["fingerprint"] = random_general_record.fields["fingerprint"]
general.fields["home_system"] = random_general_record.fields["home_system"]
+ general.fields["birthplace"] = random_general_record.fields["birthplace"]
general.fields["religion"] = random_general_record.fields["religion"]
if(random_medical_record)
medical.fields["b_type"] = random_medical_record.fields["b_type"]
diff --git a/code/game/objects/items/devices/uplink.dm b/code/game/objects/items/devices/uplink.dm
index 4c07229df7..ef5ae25fa7 100644
--- a/code/game/objects/items/devices/uplink.dm
+++ b/code/game/objects/items/devices/uplink.dm
@@ -139,6 +139,7 @@
data["exploit"]["species"] = html_encode(L.fields["species"])
data["exploit"]["rank"] = html_encode(L.fields["rank"])
data["exploit"]["home_system"] = html_encode(L.fields["home_system"])
+ data["exploit"]["birthplace"] = html_encode(L.fields["birthplace"])
data["exploit"]["citizenship"] = html_encode(L.fields["citizenship"])
data["exploit"]["faction"] = html_encode(L.fields["faction"])
data["exploit"]["religion"] = html_encode(L.fields["religion"])
diff --git a/code/modules/client/preference_setup/general/05_background.dm b/code/modules/client/preference_setup/general/05_background.dm
index ff03905eb8..d3c8d62155 100644
--- a/code/modules/client/preference_setup/general/05_background.dm
+++ b/code/modules/client/preference_setup/general/05_background.dm
@@ -7,6 +7,7 @@
S["sec_record"] >> pref.sec_record
S["gen_record"] >> pref.gen_record
S["home_system"] >> pref.home_system
+ S["birthplace"] >> pref.birthplace
S["citizenship"] >> pref.citizenship
S["faction"] >> pref.faction
S["religion"] >> pref.religion
@@ -17,6 +18,7 @@
S["sec_record"] << pref.sec_record
S["gen_record"] << pref.gen_record
S["home_system"] << pref.home_system
+ S["birthplace"] << pref.birthplace
S["citizenship"] << pref.citizenship
S["faction"] << pref.faction
S["religion"] << pref.religion
@@ -24,6 +26,7 @@
/datum/category_item/player_setup_item/general/background/sanitize_character()
if(!pref.home_system) pref.home_system = "Unset"
+ if(!pref.birthplace) pref.birthplace = "Unset"
if(!pref.citizenship) pref.citizenship = "None"
if(!pref.faction) pref.faction = "None"
if(!pref.religion) pref.religion = "None"
@@ -36,6 +39,7 @@
character.sec_record = pref.sec_record
character.gen_record = pref.gen_record
character.home_system = pref.home_system
+ character.birthplace = pref.birthplace
character.citizenship = pref.citizenship
character.personal_faction = pref.faction
character.religion = pref.religion
@@ -44,6 +48,7 @@
. += "Background Information
"
. += "Economic Status: [pref.economic_status]
"
. += "Home: [pref.home_system]
"
+ . += "Birthplace: [pref.birthplace]
"
. += "Citizenship: [pref.citizenship]
"
. += "Faction: [pref.faction]
"
. += "Religion: [pref.religion]
"
@@ -67,7 +72,7 @@
return TOPIC_REFRESH
else if(href_list["home_system"])
- var/choice = tgui_input_list(user, "Please choose your home planet and/or system. This may either be your place of birth or your current primary residence.", "Character Preference", home_system_choices + list("Unset","Other"), pref.home_system)
+ var/choice = tgui_input_list(user, "Please choose your home planet and/or system. This should be your current primary residence. Select \"Other\" to specify manually.", "Character Preference", home_system_choices + list("Unset","Other"), pref.home_system)
if(!choice || !CanUseTopic(user))
return TOPIC_NOACTION
if(choice == "Other")
@@ -78,8 +83,20 @@
pref.home_system = choice
return TOPIC_REFRESH
+ else if(href_list["birthplace"])
+ var/choice = tgui_input_list(user, "Please choose the planet and/or system or other appropriate location that you were born/created. Select \"Other\" to specify manually.", "Character Preference", home_system_choices + list("Unset","Other"), pref.birthplace)
+ if(!choice || !CanUseTopic(user))
+ return TOPIC_NOACTION
+ if(choice == "Other")
+ var/raw_choice = sanitize(tgui_input_text(user, "Please enter a birthplace.", "Character Preference", null, MAX_NAME_LEN), MAX_NAME_LEN)
+ if(raw_choice && CanUseTopic(user))
+ pref.birthplace = raw_choice
+ else
+ pref.birthplace = choice
+ return TOPIC_REFRESH
+
else if(href_list["citizenship"])
- var/choice = tgui_input_list(user, "Please select the faction or political entity with which you currently hold citizenship.", "Character Preference", citizenship_choices + list("None","Other"), pref.citizenship)
+ var/choice = tgui_input_list(user, "Please select the faction or political entity with which you currently hold citizenship. Select \"Other\" to specify manually.", "Character Preference", citizenship_choices + list("None","Other"), pref.citizenship)
if(!choice || !CanUseTopic(user))
return TOPIC_NOACTION
if(choice == "Other")
@@ -91,7 +108,7 @@
return TOPIC_REFRESH
else if(href_list["faction"])
- var/choice = tgui_input_list(user, "Please choose the faction you primarily work for.", "Character Preference", faction_choices + list("None","Other"), pref.faction)
+ var/choice = tgui_input_list(user, "Please choose the faction you primarily work for, if you are not under the direct employ of NanoTrasen. Select \"Other\" to specify manually.", "Character Preference", faction_choices + list("None","Other"), pref.faction)
if(!choice || !CanUseTopic(user))
return TOPIC_NOACTION
if(choice == "Other")
@@ -103,7 +120,7 @@
return TOPIC_REFRESH
else if(href_list["religion"])
- var/choice = tgui_input_list(user, "Please choose a religion.", "Character Preference", religion_choices + list("None","Other"), pref.religion)
+ var/choice = tgui_input_list(user, "Please choose a religion. Select \"Other\" to specify manually.", "Character Preference", religion_choices + list("None","Other"), pref.religion)
if(!choice || !CanUseTopic(user))
return TOPIC_NOACTION
if(choice == "Other")
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 4f114e3b96..c5e3200a2b 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -76,8 +76,9 @@ var/list/preferences_datums = list()
var/synth_markings = 1 //Enable/disable markings on synth parts. //VOREStation Edit - 1 by default
//Some faction information.
- var/home_system = "Unset" //System of birth.
- var/citizenship = "None" //Current home system.
+ var/home_system = "Unset" //Current home or residence.
+ var/birthplace = "Unset" //Location of birth.
+ var/citizenship = "None" //Government or similar entity with which you hold citizenship.
var/faction = "None" //General associated faction.
var/religion = "None" //Religious association.
var/antag_faction = "None" //Antag associated faction.
diff --git a/code/modules/client/preferences_factions.dm b/code/modules/client/preferences_factions.dm
index 3cd19fa36e..663ef3e1ab 100644
--- a/code/modules/client/preferences_factions.dm
+++ b/code/modules/client/preferences_factions.dm
@@ -18,7 +18,7 @@ var/global/list/citizenship_choices = list(
"Greater Human Diaspora",
"Commonwealth of Sol-Procyon",
"Skrell Consensus",
- "Unathi Hegemony",
+ "Moghes Hegemony",
"Tajaran Diaspora",
"Unitary Alliance of Salthan Fyrds",
"Elysian Colonies",
@@ -26,7 +26,7 @@ var/global/list/citizenship_choices = list(
"Teshari Expeditionary Fleet",
"Altevian Hegemony",
"Kitsuhana Heavy Industries",
- "Nomad"
+ "Kosaky Fleets"
)
var/global/list/home_system_choices = list(
@@ -63,7 +63,8 @@ var/global/list/home_system_choices = list(
"Infernum, Sanctum",
"Abundance in All Things Serene, Beta-Carnelium Ventrum",
"Jorhul, Barkalis",
- "Shelf Flotilla"
+ "Shelf Flotilla",
+ "Ue-Orsi Flotilla"
)
var/global/list/faction_choices = list(
@@ -77,6 +78,7 @@ var/global/list/faction_choices = list(
"Xion Manufacturing Group",
"Free Trade Union",
"Major Bill's Transportation",
+ "Ironcrest Transport Group",
"Grayson Manufactories Ltd.",
"Aether Atmospherics",
"Focal Point Energistics",
@@ -96,7 +98,7 @@ var/global/list/faction_choices = list(
"United Solar Defense Force",
"Proxima Centauri Risk Control",
"HIVE Security",
- "Stealth Assault Enterprises",
+ "Stealth Assault Enterprises"
)
// VOREStation Edits Stop
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 6626ff10e6..a25be2c717 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -586,6 +586,7 @@
to_chat(usr, "Name: [R.fields["name"]]")
to_chat(usr, "Assignment: [R.fields["real_rank"]] ([R.fields["rank"]])")
to_chat(usr, "Home System: [R.fields["home_system"]]")
+ to_chat(usr, "Birthplace: [R.fields["birthplace"]]")
to_chat(usr, "Citizenship: [R.fields["citizenship"]]")
to_chat(usr, "Primary Employer: [R.fields["personal_faction"]]")
to_chat(usr, "Religious Beliefs: [R.fields["religion"]]")
diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm
index 15ea6a4554..13aa181f1c 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -54,6 +54,7 @@
// General information
var/home_system = ""
+ var/birthplace = ""
var/citizenship = ""
var/personal_faction = ""
var/religion = ""
diff --git a/tgui/packages/tgui/interfaces/Uplink.js b/tgui/packages/tgui/interfaces/Uplink.js
index 511be46af3..d482da1e6f 100644
--- a/tgui/packages/tgui/interfaces/Uplink.js
+++ b/tgui/packages/tgui/interfaces/Uplink.js
@@ -74,6 +74,7 @@ const ExploitableInformation = (props, context) => {
{exploit.age}
{exploit.rank}
{exploit.home_system}
+ {exploit.birthplace}
{exploit.citizenship}
{exploit.faction}
{exploit.religion}