From ec95a2be82c8cf6ee7315a48cbd30f37dd2fb16c Mon Sep 17 00:00:00 2001
From: CHOMPStation2 <58959929+CHOMPStation2@users.noreply.github.com>
Date: Sun, 28 Jan 2024 16:54:21 -0700
Subject: [PATCH] [MIRROR] Jobfuscate! (#7317)
Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com>
Co-authored-by: Nadyr <41974248+Darlantanis@users.noreply.github.com>
---
.../client/preference_setup/global/01_ui.dm | 16 ++++++++++++++++
code/modules/client/preferences.dm | 2 ++
code/modules/mob/new_player/new_player.dm | 9 ++++++++-
3 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/code/modules/client/preference_setup/global/01_ui.dm b/code/modules/client/preference_setup/global/01_ui.dm
index 739fd1b10e..acf0216815 100644
--- a/code/modules/client/preference_setup/global/01_ui.dm
+++ b/code/modules/client/preference_setup/global/01_ui.dm
@@ -16,6 +16,8 @@
S["tgui_input_mode"] >> pref.tgui_input_mode
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
@@ -33,6 +35,8 @@
S["tgui_input_mode"] << pref.tgui_input_mode
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
@@ -50,6 +54,8 @@
pref.tgui_input_mode = sanitize_integer(pref.tgui_input_mode, 0, 1, initial(pref.tgui_input_mode))
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))
@@ -67,6 +73,8 @@
. += "TGUI Input Framework: [(pref.tgui_input_mode) ? "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))
@@ -150,6 +158,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 bd70c8e578..94baafad13 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -31,6 +31,8 @@ var/list/preferences_datums = list()
var/tgui_input_mode = FALSE // All the Input Boxes (Text,Number,List,Alert)
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 ac383b822b..5a980c13f5 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -138,7 +138,14 @@
var/datum/job/refJob = null
for(var/mob/new_player/player in player_list)
refJob = player.client.prefs.get_highest_job()
- stat("Player", (player.ready)?("(Playing as: [(refJob)?(refJob.title):("Unknown")])"):(null)) //CHOMPEDIT: Anonymizing [player.key]
+ 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++