diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql
index 91ba6281ad6..fb3f8150339 100644
--- a/SQL/paradise_schema.sql
+++ b/SQL/paradise_schema.sql
@@ -65,6 +65,7 @@ CREATE TABLE `characters` (
`med_record` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
`sec_record` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
`gen_record` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
+ `exploit_record` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
`disabilities` mediumint(8) NOT NULL,
`player_alt_titles` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
`organ_data` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
diff --git a/SQL/updates/31-32.sql b/SQL/updates/31-32.sql
new file mode 100644
index 00000000000..78b9ee0ad4b
--- /dev/null
+++ b/SQL/updates/31-32.sql
@@ -0,0 +1,4 @@
+# Updating SQL from 31 to 32 -Larentoun
+# Add exploit records
+ALTER TABLE `characters`
+ ADD COLUMN `exploit_record` longtext COLLATE utf8mb4_unicode_ci NOT NULL AFTER `gen_record`;
diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm
index f6115322039..666e23f0081 100644
--- a/code/__DEFINES/misc.dm
+++ b/code/__DEFINES/misc.dm
@@ -385,7 +385,7 @@
#define EXPLOSION_BLOCK_PROC -1
// The SQL version required by this version of the code
-#define SQL_VERSION 31
+#define SQL_VERSION 32
// Vending machine stuff
#define CAT_NORMAL 1
diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm
index 4ea6dc72f4f..d8726a2a132 100644
--- a/code/datums/datacore.dm
+++ b/code/datums/datacore.dm
@@ -163,8 +163,10 @@ GLOBAL_VAR_INIT(record_id_num, 1001)
G.fields["photo-west"] = "data:image/png;base64,[icon2base64(icon(G.fields["photo"], dir = WEST))]"
if(H.gen_record && !jobban_isbanned(H, "Records"))
G.fields["notes"] = H.gen_record
+ G.fields["exploit_record"] = H.exploit_record
else
G.fields["notes"] = "No notes found."
+ G.fields["exploit_record"] = "No notes found."
general += G
//Medical Record
diff --git a/code/game/objects/items/devices/uplinks.dm b/code/game/objects/items/devices/uplinks.dm
index 557c446ec18..b00cca6774e 100644
--- a/code/game/objects/items/devices/uplinks.dm
+++ b/code/game/objects/items/devices/uplinks.dm
@@ -203,7 +203,8 @@ GLOBAL_LIST_EMPTY(world_uplinks)
"age" = html_encode(L.fields["age"]),
"species" = html_encode(L.fields["species"]),
"rank" = html_encode(L.fields["rank"]),
- "fingerprint" = html_encode(L.fields["fingerprint"])
+ "fingerprint" = html_encode(L.fields["fingerprint"]),
+ "exploit_record" = html_encode(L.fields["exploit_record"]),
))
data["exploitable"] = exploitable
diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm
index 80bb93311a9..cad4725944f 100644
--- a/code/modules/client/preference/preferences.dm
+++ b/code/modules/client/preference/preferences.dm
@@ -193,6 +193,7 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts
var/med_record = ""
var/sec_record = ""
var/gen_record = ""
+ var/exploit_record = ""
var/disabilities = 0
var/nanotrasen_relation = "Neutral"
@@ -1091,11 +1092,18 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts
HTML += "
Security Records
"
if(length(sec_record) <= 40)
- HTML += "[sec_record]
"
+ HTML += "[sec_record]"
else
- HTML += "[copytext_char(sec_record, 1, 37)]...
"
+ HTML += "[copytext_char(sec_record, 1, 37)]..."
- HTML += "\[Done\]"
+ HTML += "
Exploitable Records
"
+
+ if(length(exploit_record) <= 40)
+ HTML += "[exploit_record]"
+ else
+ HTML += "[copytext_char(exploit_record, 1, 37)]..."
+
+ HTML += "
\[Done\]"
HTML += ""
var/datum/browser/popup = new(user, "records", "