diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index 20da6ade746..720ca7d403e 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -264,7 +264,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
if(oldname)
//update the datacore records! This is goig to be a bit costly.
- for(var/list/L in list(data_core.general,data_core.medical,data_core.security,data_core.locked,data_core.exploit))
+ for(var/list/L in list(data_core.general,data_core.medical,data_core.security,data_core.locked,data_core.permanent))
for(var/datum/data/record/R in L)
if(R.fields["name"] == oldname)
R.fields["name"] = newname
diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm
index a4c9cc0e8dd..3d33e90a363 100644
--- a/code/datums/datacore.dm
+++ b/code/datums/datacore.dm
@@ -66,6 +66,10 @@
G.fields["m_stat"] = "Stable"
G.fields["sex"] = H.gender
G.fields["species"] = H.get_species()
+ G.fields["home_system"] = H.home_system
+ G.fields["citizenship"] = H.citizenship
+ G.fields["faction"] = H.personal_faction
+ G.fields["religion"] = H.religion
G.fields["photo_front"] = front
G.fields["photo_side"] = side
if(H.gen_record && !jobban_isbanned(H, "Records"))
@@ -110,15 +114,15 @@
S.fields["notes"] = "No notes."
security += S
- // Records with exploitative information
- var/datum/data/record/E = new()
- E.fields["id"] = id
- E.fields["name"] = H.real_name
+ // Records with oermanently available information
+ var/datum/data/record/P = new()
+ P.fields["id"] = id
+ P.fields["name"] = H.real_name
if(H.exploit_record && !jobban_isbanned(H, "Records"))
- E.fields["notes"] = H.exploit_record
+ P.fields["exploit_record"] = H.exploit_record
else
- E.fields["notes"] = "No additional information acquired."
- exploit += E
+ P.fields["exploit_record"] = "No additional information acquired."
+ permanent += P
//Locked Record
var/datum/data/record/L = new()
diff --git a/code/defines/obj.dm b/code/defines/obj.dm
index f1ee31799e9..da7c5df22ba 100644
--- a/code/defines/obj.dm
+++ b/code/defines/obj.dm
@@ -48,7 +48,7 @@
var/medical[] = list()
var/general[] = list()
var/security[] = list()
- var/exploit[] = list()
+ var/permanent[] = list()
//This list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character().
var/locked[] = list()
diff --git a/code/defines/procs/records.dm b/code/defines/procs/records.dm
index 9d419607c09..9f7d78df47a 100644
--- a/code/defines/procs/records.dm
+++ b/code/defines/procs/records.dm
@@ -14,6 +14,10 @@
G.fields["p_stat"] = "Active"
G.fields["m_stat"] = "Stable"
G.fields["species"] = "Human"
+ G.fields["home_system"] = "Unknown"
+ G.fields["citizenship"] = "Unknown"
+ G.fields["faction"] = "Unknown"
+ G.fields["religion"] = "Unknown"
G.fields["photo_front"] = front
G.fields["photo_side"] = side
data_core.general += G
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index 596375b3a2c..8604926a835 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -255,9 +255,9 @@ var/global/list/frozen_items = list()
for(var/datum/data/record/G in data_core.general)
if ((G.fields["name"] == occupant.real_name))
del(G)
- for(var/datum/data/record/E in data_core.exploit)
- if ((E.fields["name"] == occupant.real_name))
- del(E)
+ for(var/datum/data/record/P in data_core.permanent)
+ if ((P.fields["name"] == occupant.real_name))
+ del(P)
if(orient_right)
icon_state = "body_scanner_0-r"
diff --git a/code/game/objects/items/devices/uplinks.dm b/code/game/objects/items/devices/uplinks.dm
index e85a37a8241..31a25a88894 100644
--- a/code/game/objects/items/devices/uplinks.dm
+++ b/code/game/objects/items/devices/uplinks.dm
@@ -220,10 +220,10 @@ datum/nano_item_lists
/obj/item/device/uplink/hidden/proc/update_nano_data(var/id)
if(nanoui_menu == 1)
- var/exploitData[0]
- for(var/datum/data/record/R in sortRecord(data_core.exploit))
- exploitData[++exploitData.len] = list(Name = R.fields["name"],"id" = R.fields["id"])
- nanoui_data["exploit_records"] = exploitData
+ var/permanentData[0]
+ for(var/datum/data/record/P in sortRecord(data_core.permanent))
+ permanentData[++permanentData.len] = list(Name = P.fields["name"],"id" = P.fields["id"])
+ nanoui_data["exploit_records"] = permanentData
if(nanoui_menu == 11)
nanoui_data["general_exists"] = 0
@@ -235,11 +235,13 @@ datum/nano_item_lists
nanoui_data["general_exists"] = 1
break
- for(var/datum/data/record/E in data_core.exploit)
- if(E.fields["id"] == id)
- nanoui_data["exploit"] = E.fields
- nanoui_data["exploit"]["notes"] = replacetext(nanoui_data["exploit"]["notes"], "\n", "
")
+ for(var/datum/data/record/P in data_core.permanent)
+ if(P.fields["id"] == id)
+ if(!nanoui_data["exploit"])
+ nanoui_data["exploit"] = new
+ nanoui_data["exploit"]["notes"] = replacetext(P.fields["exploit_record"], "\n", "
")
nanoui_data["exploit_exists"] = 1
+ break
// I placed this here because of how relevant it is.
// You place this in your uplinkable item to check if an uplink is active or not.
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 93da9a02320..39213f436da 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -1564,6 +1564,10 @@ datum/preferences
character.h_style = h_style
character.f_style = f_style
+ character.home_system = home_system
+ character.citizenship = citizenship
+ character.personal_faction = faction
+ character.religion = religion
character.skills = skills
character.used_skillpoints = used_skillpoints
diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm
index 818b9a9e7e0..c3ad3d918d7 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -32,6 +32,12 @@
var/undershirt = 0 //Which undershirt the player wants.
var/backbag = 2 //Which backpack type the player has chosen. Nothing, Satchel or Backpack.
+ // General information
+ var/home_system = ""
+ var/citizenship = ""
+ var/personal_faction = ""
+ var/religion = ""
+
//Equipment slots
var/obj/item/wear_suit = null
var/obj/item/w_uniform = null
diff --git a/nano/templates/uplink.tmpl b/nano/templates/uplink.tmpl
index 46670e338cf..b063d007daf 100644
--- a/nano/templates/uplink.tmpl
+++ b/nano/templates/uplink.tmpl
@@ -76,9 +76,11 @@ Used In File(s): \code\game\objects\items\devices\uplinks.dm
Species: {{:data.general.species}}
Age: {{:data.general.age}}
Rank: {{:data.general.rank}}
+ Home System: {{:data.general.home_system}}
+ Citizenship: {{:data.general.citizenship}}
+ Faction: {{:data.general.faction}}
+ Religion: {{:data.general.religion}}
Fingerprint: {{:data.general.fingerprint}}
- Physical Status: {{:data.general.p_stat}}
- Mental Status: {{:data.general.m_stat}}
{{else}}
General Record Lost!