diff --git a/baystation12.dme b/baystation12.dme index e49258cefe7..6f10b4d580b 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -989,7 +989,8 @@ #include "code\modules\client\preference_setup\general\06_flavor.dm" #include "code\modules\client\preference_setup\global\01_ui.dm" #include "code\modules\client\preference_setup\global\02_settings.dm" -#include "code\modules\client\preference_setup\global\03_pai.dm" +#include "code\modules\client\preference_setup\global\03_language.dm" +#include "code\modules\client\preference_setup\global\04_pai.dm" #include "code\modules\client\preference_setup\occupation\occupation.dm" #include "code\modules\client\preference_setup\skills\skills.dm" #include "code\modules\clothing\chameleon.dm" diff --git a/code/modules/client/preference_setup/general/02_language.dm b/code/modules/client/preference_setup/general/02_language.dm index 7e9a803766d..c7cb7afca74 100644 --- a/code/modules/client/preference_setup/general/02_language.dm +++ b/code/modules/client/preference_setup/general/02_language.dm @@ -4,16 +4,12 @@ /datum/category_item/player_setup_item/general/language/load_character(var/savefile/S) S["language"] >> pref.alternate_languages - S["language_prefixes"] >> pref.language_prefixes /datum/category_item/player_setup_item/general/language/save_character(var/savefile/S) S["language"] << pref.alternate_languages - S["language_prefixes"] << pref.language_prefixes /datum/category_item/player_setup_item/general/language/sanitize_character() if(!islist(pref.alternate_languages)) pref.alternate_languages = list() - if(isnull(pref.language_prefixes) || !pref.language_prefixes.len) - pref.language_prefixes = config.language_prefixes.Copy() /datum/category_item/player_setup_item/general/language/content() . += "Languages
" @@ -33,9 +29,6 @@ else . += "- [pref.species] cannot choose secondary languages.
" - . += "Language Keys
" - . += " [english_list(pref.language_prefixes, and_text = " ", comma_text = " ")] Change Reset
" - /datum/category_item/player_setup_item/general/language/OnTopic(var/href,var/list/href_list, var/mob/user) if(href_list["remove_language"]) var/index = text2num(href_list["remove_language"]) @@ -64,30 +57,4 @@ if(new_lang) pref.alternate_languages |= new_lang return TOPIC_REFRESH - - else if(href_list["change_prefix"]) - var/char - var/keys[0] - do - char = input("Enter a single special character.\nYou may re-select the same characters.\nThe following characters are already in use by radio: ; : .\nThe following characters are already in use by special say commands: ! * ^", "Enter Character - [3 - keys.len] remaining") as null|text - if(char) - if(length(char) > 1) - alert(user, "Only single characters allowed.", "Error", "Ok") - else if(char in list(";", ":", ".")) - alert(user, "Radio character. Rejected.", "Error", "Ok") - else if(char in list("!","*", "^")) - alert(user, "Say character. Rejected.", "Error", "Ok") - else if(contains_az09(char)) - alert(user, "Non-special character. Rejected.", "Error", "Ok") - else - keys.Add(char) - while(char && keys.len < 3) - - if(keys.len == 3) - pref.language_prefixes = keys - return TOPIC_REFRESH - else if(href_list["reset_prefix"]) - pref.language_prefixes = config.language_prefixes.Copy() - return TOPIC_REFRESH - return ..() diff --git a/code/modules/client/preference_setup/global/01_ui.dm b/code/modules/client/preference_setup/global/01_ui.dm index 09289c1068f..777a51d3549 100644 --- a/code/modules/client/preference_setup/global/01_ui.dm +++ b/code/modules/client/preference_setup/global/01_ui.dm @@ -21,7 +21,8 @@ pref.ooccolor = sanitize_hexcolor(pref.ooccolor, initial(pref.ooccolor)) /datum/category_item/player_setup_item/player_global/ui/content(var/mob/user) - . = "UI Style: [pref.UI_style]
" + . += "UI Settings
" + . += "UI Style: [pref.UI_style]
" . += "Custom UI (recommended for White UI):
" . += "-Color: [pref.UI_style_color] 
__
 reset
" . += "-Alpha(transparency): [pref.UI_style_alpha] reset
" diff --git a/code/modules/client/preference_setup/global/03_language.dm b/code/modules/client/preference_setup/global/03_language.dm new file mode 100644 index 00000000000..29f7d3a5ae4 --- /dev/null +++ b/code/modules/client/preference_setup/global/03_language.dm @@ -0,0 +1,55 @@ +/datum/category_item/player_setup_item/player_global/language + name = "Language" + sort_order = 3 + +/datum/category_item/player_setup_item/player_global/language/load_preferences(var/savefile/S) + S["language_prefixes"] >> pref.language_prefixes + +/datum/category_item/player_setup_item/player_global/language/save_preferences(var/savefile/S) + S["language_prefixes"] << pref.language_prefixes + +/datum/category_item/player_setup_item/player_global/language/sanitize_preferences() + if(isnull(pref.language_prefixes) || !pref.language_prefixes.len) + pref.language_prefixes = config.language_prefixes.Copy() + +/datum/category_item/player_setup_item/player_global/language/content(var/mob/user) + . += "Language Keys
" + . += " [english_list(pref.language_prefixes, and_text = " ", comma_text = " ")] Change Reset
" + +/datum/category_item/player_setup_item/player_global/language/OnTopic(var/href,var/list/href_list, var/mob/user) + if(href_list["change_prefix"]) + var/char + var/keys[0] + do + char = input("Enter a single special character.\nYou may re-select the same characters.\nThe following characters are already in use by radio: ; : .\nThe following characters are already in use by special say commands: ! * ^", "Enter Character - [3 - keys.len] remaining") as null|text + if(char) + if(length(char) > 1) + alert(user, "Only single characters allowed.", "Error", "Ok") + else if(char in list(";", ":", ".")) + alert(user, "Radio character. Rejected.", "Error", "Ok") + else if(char in list("!","*", "^")) + alert(user, "Say character. Rejected.", "Error", "Ok") + else if(contains_az09(char)) + alert(user, "Non-special character. Rejected.", "Error", "Ok") + else + keys.Add(char) + while(char && keys.len < 3) + + if(keys.len == 3) + pref.language_prefixes = keys + return TOPIC_REFRESH + + else if(href_list["reset_prefix"]) + pref.language_prefixes = config.language_prefixes.Copy() + return TOPIC_REFRESH + + return ..() + + +/datum/category_item/player_setup_item/player_global/language/update_setup(var/savefile/preferences, var/savefile/character) + if(preferences["version"] == 11) + var/list/prefixes = character["language_prefixes"] + if(istype(prefixes) && prefixes.len) + preferences["language_prefixes"] = prefixes.Copy() + return 1 + diff --git a/code/modules/client/preference_setup/global/03_pai.dm b/code/modules/client/preference_setup/global/04_pai.dm similarity index 99% rename from code/modules/client/preference_setup/global/03_pai.dm rename to code/modules/client/preference_setup/global/04_pai.dm index 7944c7b6e7d..c4412548628 100644 --- a/code/modules/client/preference_setup/global/03_pai.dm +++ b/code/modules/client/preference_setup/global/04_pai.dm @@ -1,6 +1,6 @@ /datum/category_item/player_setup_item/player_global/pai name = "pAI" - sort_order = 3 + sort_order = 4 var/datum/paiCandidate/candidate