diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm
index 3cfb08b8dac0..82540d6cbf5e 100644
--- a/code/modules/client/client_procs.dm
+++ b/code/modules/client/client_procs.dm
@@ -330,13 +330,8 @@ GLOBAL_LIST_INIT(whitelisted_client_procs, list(
prefs.last_ip = address //these are gonna be used for banning
prefs.last_id = computer_id //these are gonna be used for banning
fps = prefs.fps
- xeno_prefix = prefs.xeno_prefix
- xeno_postfix = prefs.xeno_postfix
- xeno_name_ban = prefs.xeno_name_ban
- if(!xeno_prefix || xeno_name_ban)
- xeno_prefix = "XX"
- if(!xeno_postfix || xeno_name_ban)
- xeno_postfix = ""
+
+ load_xeno_name()
human_name_ban = prefs.human_name_ban
@@ -790,3 +785,12 @@ GLOBAL_LIST_INIT(whitelisted_client_procs, list(
if(admin_holder)
admin_holder.particle_test = new /datum/particle_editor(in_atom)
admin_holder.particle_test.tgui_interact(mob)
+
+/client/proc/load_xeno_name()
+ xeno_prefix = prefs.xeno_prefix
+ xeno_postfix = prefs.xeno_postfix
+ xeno_name_ban = prefs.xeno_name_ban
+ if(!xeno_prefix || xeno_name_ban)
+ xeno_prefix = "XX"
+ if(!xeno_postfix || xeno_name_ban)
+ xeno_postfix = ""
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 554ba28e417f..8ca177ddf66c 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -1409,6 +1409,7 @@ var/const/MAX_SAVE_SLOTS = 10
if(length(new_xeno_prefix)==0)
xeno_prefix = "XX"
+ owner.load_xeno_name()
else
var/all_ok = TRUE
for(var/i=1, i<=length(new_xeno_prefix), i++)
@@ -1420,6 +1421,7 @@ var/const/MAX_SAVE_SLOTS = 10
all_ok = FALSE //everything else - won't
if(all_ok)
xeno_prefix = new_xeno_prefix
+ owner.load_xeno_name()
else
to_chat(user, "Invalid Xeno Prefix. Your Prefix can contain either single letter or two letters.")
@@ -1444,6 +1446,7 @@ var/const/MAX_SAVE_SLOTS = 10
return
else if(length(new_xeno_postfix)==0)
xeno_postfix = ""
+ owner.load_xeno_name()
else
var/all_ok = TRUE
var/first_char = TRUE
@@ -1469,6 +1472,7 @@ var/const/MAX_SAVE_SLOTS = 10
first_char = FALSE
if(all_ok)
xeno_postfix = new_xeno_postfix
+ owner.load_xeno_name()
else
to_chat(user, "Invalid Xeno Postfix. Your Postfix can contain single letter and an optional digit after it.")
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index 5da499dabc52..dda2487c24d9 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -34,8 +34,8 @@
return
var/tempnumber = rand(1, 999)
- var/postfix_text = (client.prefs && client.prefs.xeno_postfix) ? ("-"+client.prefs.xeno_postfix) : ""
- var/prefix_text = (client.prefs && client.prefs.xeno_prefix) ? client.prefs.xeno_prefix : "XX"
+ var/postfix_text = (client.xeno_postfix) ? ("-"+client.xeno_postfix) : ""
+ var/prefix_text = (client.xeno_prefix) ? client.xeno_prefix : "XX"
var/xeno_text = "[prefix_text]-[tempnumber][postfix_text]"
var/round_start = !SSticker || !SSticker.mode || SSticker.current_state <= GAME_STATE_PREGAME