diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm
index 541b3d56..87b68a92 100644
--- a/code/__HELPERS/roundend.dm
+++ b/code/__HELPERS/roundend.dm
@@ -510,7 +510,7 @@
var/jobtext = ""
if(ply.assigned_role)
jobtext = " the [ply.assigned_role]"
- var/text = "[ply.key] was [ply.name][jobtext] and"
+ var/text = "[ply.hide_ckey ? "[ply.name][jobtext] " : "[ply.key] was [ply.name][jobtext] and "]"
if(ply.current)
if(ply.current.stat == DEAD)
text += " died"
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index 3b549958..0e4e9319 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -41,6 +41,8 @@
var/special_role
var/list/restricted_roles = list()
+ var/hide_ckey = FALSE
+
var/list/datum/objective/objectives = list()
var/list/spell_list = list() // Wizard mode & "Give Spell" badmin button.
@@ -134,6 +136,8 @@
L.canbearoused = L.client.prefs.arousable //Technically this should make taking over a character mean the body gain the new minds setting...
L.update_arousal_hud() //Removes the old icon
+ hide_ckey = current.client?.prefs?.hide_ckey
+
/datum/mind/proc/store_memory(new_text)
if((length_char(memory) + length_char(new_text)) <= MAX_MESSAGE_LEN)
memory += "[new_text]
"
@@ -853,6 +857,7 @@
if(!mind.name)
mind.name = real_name
mind.current = src
+ mind.hide_ckey = client?.prefs?.hide_ckey
/mob/living/carbon/mind_initialize()
..()
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 2a5bc386..114f2416 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -240,6 +240,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/list/bgstate_options = list("000", "midgrey", "hiro", "FFF", "white", "steel", "techmaint", "dark", "plating", "reinforced")
var/show_mismatched_markings = FALSE //determines whether or not the markings lists should show markings that don't match the currently selected species. Intentionally left unsaved.
+ var/hide_ckey = FALSE //pref for hiding if your ckey shows round-end or not
/datum/preferences/New(client/C)
parent = C
@@ -368,6 +369,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "[medical_records]"
else
dat += "[TextPreview(medical_records)]...
"
+ dat += "
Hide ckey: [hide_ckey ? "Enabled" : "Disabled"]
"
dat += ""
//Character Appearance
@@ -1689,6 +1691,11 @@ GLOBAL_LIST_EMPTY(preferences_datums)
msg = msg
features["flavor_text"] = msg
+ if("hide_ckey")
+ hide_ckey = !hide_ckey
+ if(user)
+ user.mind?.hide_ckey = hide_ckey
+
if("hair")
var/new_hair = input(user, "Choose your character's hair colour:", "Character Preference","#"+hair_color) as color|null
if(new_hair)
diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm
index 9ad29dee..1b33e6cb 100644
--- a/code/modules/client/preferences_savefile.dm
+++ b/code/modules/client/preferences_savefile.dm
@@ -337,7 +337,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["feature_human_ears"] >> features["ears"]
S["feature_deco_wings"] >> features["deco_wings"]
-
+ S["hide_ckey"] >> hide_ckey //saved per-character
//Custom names
@@ -591,6 +591,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
//Record Flavor Text
WRITE_FILE(S["security_records"] , security_records)
WRITE_FILE(S["medical_records"] , medical_records)
+ //hide c-key
+ WRITE_FILE(S["hide_ckey"] , hide_ckey)
//Quirks
WRITE_FILE(S["all_quirks"] , all_quirks)
diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm
index 4c39d51d..e3af2080 100644
--- a/code/modules/mob/login.dm
+++ b/code/modules/mob/login.dm
@@ -52,4 +52,5 @@
var/datum/callback/CB = foo
CB.Invoke()
+ mind?.hide_ckey = client?.prefs?.hide_ckey
log_message("Client [key_name(src)] has taken ownership of mob [src]([src.type])", LOG_OWNERSHIP)