Transfers language shortcut keys from per character setting to a global one.

This commit is contained in:
PsiOmegaDelta
2015-12-05 13:01:51 +01:00
parent fefa400604
commit 5c8516e2b7
5 changed files with 60 additions and 36 deletions
@@ -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()
. += "<b>Languages</b><br>"
@@ -33,9 +29,6 @@
else
. += "- [pref.species] cannot choose secondary languages.<br>"
. += "<b>Language Keys</b><br>"
. += " [english_list(pref.language_prefixes, and_text = " ", comma_text = " ")] <a href='?src=\ref[src];change_prefix=1'>Change</a> <a href='?src=\ref[src];reset_prefix=1'>Reset</a><br>"
/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 ..()