diff --git a/code/modules/client/preference_setup/global/01_ui.dm b/code/modules/client/preference_setup/global/01_ui.dm
index d0f680c075..7f96fca3d0 100644
--- a/code/modules/client/preference_setup/global/01_ui.dm
+++ b/code/modules/client/preference_setup/global/01_ui.dm
@@ -17,6 +17,8 @@
S["tgui_input_lock"] >> pref.tgui_input_lock
S["tgui_large_buttons"] >> pref.tgui_large_buttons
S["tgui_swapped_buttons"] >> pref.tgui_swapped_buttons
+ S["obfuscate_key"] >> pref.obfuscate_key
+ S["obfuscate_job"] >> pref.obfuscate_job
S["chat_timestamp"] >> pref.chat_timestamp
S["throwmode_loud"] >> pref.throwmode_loud
@@ -35,6 +37,8 @@
S["tgui_input_lock"] << pref.tgui_input_lock
S["tgui_large_buttons"] << pref.tgui_large_buttons
S["tgui_swapped_buttons"] << pref.tgui_swapped_buttons
+ S["obfuscate_key"] << pref.obfuscate_key
+ S["obfuscate_job"] << pref.obfuscate_job
S["chat_timestamp"] << pref.chat_timestamp
S["throwmode_loud"] << pref.throwmode_loud
@@ -53,6 +57,8 @@
pref.tgui_input_lock = sanitize_integer(pref.tgui_input_lock, 0, 1, initial(pref.tgui_input_lock))
pref.tgui_large_buttons = sanitize_integer(pref.tgui_large_buttons, 0, 1, initial(pref.tgui_large_buttons))
pref.tgui_swapped_buttons = sanitize_integer(pref.tgui_swapped_buttons, 0, 1, initial(pref.tgui_swapped_buttons))
+ pref.obfuscate_key = sanitize_integer(pref.obfuscate_key, 0, 1, initial(pref.obfuscate_key))
+ pref.obfuscate_job = sanitize_integer(pref.obfuscate_job, 0, 1, initial(pref.obfuscate_job))
pref.chat_timestamp = sanitize_integer(pref.chat_timestamp, 0, 1, initial(pref.chat_timestamp))
pref.throwmode_loud = sanitize_integer(pref.throwmode_loud, 0, 1, initial(pref.throwmode_loud))
@@ -71,6 +77,8 @@
. += "TGUI Input Lock: [(pref.tgui_input_lock) ? "Enabled" : "Disabled (default)"]
"
. += "TGUI Large Buttons: [(pref.tgui_large_buttons) ? "Enabled (default)" : "Disabled"]
"
. += "TGUI Swapped Buttons: [(pref.tgui_swapped_buttons) ? "Enabled" : "Disabled (default)"]
"
+ . += "Obfuscate Ckey: [(pref.obfuscate_key) ? "Enabled" : "Disabled (default)"]
"
+ . += "Obfuscate Job: [(pref.obfuscate_job) ? "Enabled" : "Disabled (default)"]
"
. += "Chat Timestamps: [(pref.chat_timestamp) ? "Enabled" : "Disabled (default)"]
"
. += "Throw Mode Messages: [(pref.throwmode_loud) ? "Loud" : "Quiet (default)"]
"
if(can_select_ooc_color(user))
@@ -158,6 +166,14 @@
pref.tgui_swapped_buttons = !pref.tgui_swapped_buttons
return TOPIC_REFRESH
+ else if(href_list["obfuscate_key"])
+ pref.obfuscate_key = !pref.obfuscate_key
+ return TOPIC_REFRESH
+
+ else if(href_list["obfuscate_job"])
+ pref.obfuscate_job = !pref.obfuscate_job
+ return TOPIC_REFRESH
+
else if(href_list["chat_timestamps"])
pref.chat_timestamp = !pref.chat_timestamp
return TOPIC_REFRESH
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index ef79eccdfa..4603e8840c 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -32,6 +32,8 @@ var/list/preferences_datums = list()
var/tgui_input_lock = FALSE
var/tgui_large_buttons = TRUE
var/tgui_swapped_buttons = FALSE
+ var/obfuscate_key = FALSE
+ var/obfuscate_job = FALSE
var/chat_timestamp = FALSE
var/throwmode_loud = FALSE
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index c7cabffc73..564ed2a831 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -120,7 +120,14 @@
var/datum/job/refJob = null
for(var/mob/new_player/player in player_list)
refJob = player.client.prefs.get_highest_job()
- stat("[player.key]", (player.ready)?("(Playing as: [(refJob)?(refJob.title):("Unknown")])"):(null))
+ if(player.client.prefs.obfuscate_key && player.client.prefs.obfuscate_job)
+ stat("Anonymous User", (player.ready)?("Ready!"):(null))
+ else if(player.client.prefs.obfuscate_key)
+ stat("Anonymous User", (player.ready)?("(Playing as: [(refJob)?(refJob.title):("Unknown")])"):(null))
+ else if(player.client.prefs.obfuscate_job)
+ stat("[player.key]", (player.ready)?("Ready!"):(null))
+ else
+ stat("[player.key]", (player.ready)?("(Playing as: [(refJob)?(refJob.title):("Unknown")])"):(null))
totalPlayers++
if(player.ready)totalPlayersReady++