diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 971d73ed6d3..ab3778b8286 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -189,9 +189,9 @@ datum/preferences
if(path)
dat += "Slot - "
- dat += "Load slot - "
- dat += "Save slot - "
- dat += "Reload slot"
+ dat += "Load slot - "
+ dat += "Save slot - "
+ dat += "Reload slot"
else
dat += "Please create an account to save your preferences."
@@ -215,26 +215,30 @@ datum/preferences
else
user << "The forum URL is not set in the server configuration."
return
+ ShowChoices(usr)
+ return 1
+
+/datum/preferences/Topic(href, list/href_list)
+ if(..())
+ return 1
+
+ if(href_list["save"])
+ save_preferences()
+ save_character()
+ else if(href_list["reload"])
+ load_preferences()
+ load_character()
+ else if(href_list["load"])
+ if(!IsGuestKey(usr.key))
+ open_load_dialog(usr)
+ return 1
+ else if(href_list["changeslot"])
+ load_character(text2num(href_list["changeslot"]))
+ close_load_dialog(usr)
else
- switch(href_list["preference"])
- if("save")
- save_preferences()
- save_character()
+ return 0
- if("reload")
- load_preferences()
- load_character()
-
- if("open_load_dialog")
- if(!IsGuestKey(user.key))
- open_load_dialog(user)
- return 1
-
- if("changeslot")
- load_character(text2num(href_list["num"]))
- close_load_dialog(user)
-
- ShowChoices(user)
+ ShowChoices(usr)
return 1
/datum/preferences/proc/copy_to(mob/living/carbon/human/character, safety = 0)
@@ -352,10 +356,9 @@ datum/preferences
if(!name) name = "Character[i]"
if(i==default_slot)
name = "[name]"
- dat += "[name]
"
+ dat += "[name]
"
dat += "