From cacdb48863e4a8f4256db4b16cfa77a84bd2d839 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Fri, 4 Dec 2015 11:43:25 +0100 Subject: [PATCH 1/2] Can now load/save/reload while readied. The load window also no longer pops under the character setup screen. Just some small character preference QoL changes. --- code/modules/client/preferences.dm | 49 ++++++++++++++++-------------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 971d73ed6d..ab3778b828 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 += "
" - dat += "Close
" dat += "" user << browse(dat, "window=saves;size=300x390") From 059d9cd131112cce957ca3c16ce641050ff794aa Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Wed, 30 Dec 2015 12:16:16 +0100 Subject: [PATCH 2/2] Re-fixes skin tone not displaying the proper value when being edited in the character setup. --- code/modules/client/preference_setup/general/03_body.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index 71b607be18..61525cbb51 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -313,7 +313,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O else if(href_list["skin_tone"]) if(!has_flag(mob_species, HAS_SKIN_TONE)) return TOPIC_NOACTION - var/new_s_tone = input(user, "Choose your character's skin-tone:\n(Light 1 - 220 Dark)", "Character Preference", pref.s_tone) as num|null + var/new_s_tone = input(user, "Choose your character's skin-tone:\n(Light 1 - 220 Dark)", "Character Preference", (-pref.s_tone) + 35) as num|null if(new_s_tone && has_flag(mob_species, HAS_SKIN_TONE) && CanUseTopic(user)) pref.s_tone = 35 - max(min( round(new_s_tone), 220),1) return TOPIC_REFRESH