diff --git a/code/__HELPERS/_string_lists.dm b/code/__HELPERS/_string_lists.dm
index 149fd04e2fa..f2f57bb15db 100644
--- a/code/__HELPERS/_string_lists.dm
+++ b/code/__HELPERS/_string_lists.dm
@@ -6,8 +6,8 @@ GLOBAL_LIST(string_cache)
GLOBAL_VAR(string_filename_current_key)
-/proc/strings_replacement(filename, key)
- load_strings_file(filename)
+/proc/strings_replacement(filename, key, directory = "strings")
+ load_strings_file(filename, directory)
if((filename in GLOB.string_cache) && (key in GLOB.string_cache[filename]))
var/response = pick(GLOB.string_cache[filename][key])
@@ -15,19 +15,19 @@ GLOBAL_VAR(string_filename_current_key)
response = r.Replace(response, /proc/strings_subkey_lookup)
return response
else
- CRASH("strings list not found: strings/[filename], index=[key]")
+ CRASH("strings list not found: [directory]/[filename], index=[key]")
-/proc/strings(filename as text, key as text)
- load_strings_file(filename)
+/proc/strings(filename as text, key as text, directory = "strings")
+ load_strings_file(filename, directory)
if((filename in GLOB.string_cache) && (key in GLOB.string_cache[filename]))
return GLOB.string_cache[filename][key]
else
- CRASH("strings list not found: strings/[filename], index=[key]")
+ CRASH("strings list not found: [directory]/[filename], index=[key]")
/proc/strings_subkey_lookup(match, group1)
return pick_list(GLOB.string_filename_current_key, group1)
-/proc/load_strings_file(filename)
+/proc/load_strings_file(filename, directory = "strings")
GLOB.string_filename_current_key = filename
if(filename in GLOB.string_cache)
return //no work to do
@@ -35,7 +35,7 @@ GLOBAL_VAR(string_filename_current_key)
if(!GLOB.string_cache)
GLOB.string_cache = new
- if(fexists("strings/[filename]"))
- GLOB.string_cache[filename] = json_load("strings/[filename]")
+ if(fexists("[directory]/[filename]"))
+ GLOB.string_cache[filename] = json_load("[directory]/[filename]")
else
- CRASH("file not found: strings/[filename]")
+ CRASH("file not found: [directory]/[filename]")
diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm
index 30afa659f50..46ca8b1631c 100644
--- a/code/modules/admin/verbs/deadsay.dm
+++ b/code/modules/admin/verbs/deadsay.dm
@@ -2,16 +2,16 @@
set category = "Special Verbs"
set name = "Dsay"
set hidden = 1
- if(!src.holder)
+ if(!holder)
to_chat(src, "Only administrators may use this command.")
return
- if(!src.mob)
+ if(!mob)
return
if(prefs.muted & MUTE_DEADCHAT)
to_chat(src, "You cannot send DSAY messages (muted).")
return
- if (src.handle_spam_prevention(msg,MUTE_DEADCHAT))
+ if (handle_spam_prevention(msg,MUTE_DEADCHAT))
return
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
@@ -19,9 +19,12 @@
if (!msg)
return
- var/static/nicknames = world.file2list("[global.config.directory]/admin_nicknames.txt")
-
- var/rendered = "DEAD: [uppertext(holder.rank)]([src.holder.fakekey ? pick(nicknames) : src.key]) says, \"[emoji_parse(msg)]\""
+ var/rank_name = holder.rank
+ var/admin_name = key
+ if(holder.fakekey)
+ rank_name = pick(strings("admin_nicknames.json", "ranks", "config"))
+ admin_name = pick(strings("admin_nicknames.json", "names", "config"))
+ var/rendered = "DEAD: [rank_name]([admin_name]) says, \"[emoji_parse(msg)]\""
for (var/mob/M in GLOB.player_list)
if(isnewplayer(M))
diff --git a/config/admin_nicknames.json b/config/admin_nicknames.json
new file mode 100644
index 00000000000..9c83f646229
--- /dev/null
+++ b/config/admin_nicknames.json
@@ -0,0 +1,10 @@
+{
+ "ranks": [
+ "Dedmin",
+ "Sir Madam Headmin"
+ ],
+ "names": [
+ "Badmin",
+ "Spanmin"
+ ]
+}
\ No newline at end of file
diff --git a/config/admin_nicknames.txt b/config/admin_nicknames.txt
deleted file mode 100644
index 76198b6c050..00000000000
--- a/config/admin_nicknames.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Badmin
-Spanmin
\ No newline at end of file