Autohiss QoL (#10377)

This commit is contained in:
Geeves
2020-10-31 15:59:33 +02:00
committed by GitHub
parent aa10a6bbe6
commit 78c5778342
9 changed files with 46 additions and 11 deletions
@@ -4,15 +4,18 @@
/datum/category_item/player_setup_item/general/language/load_character(var/savefile/S)
S["language"] >> pref.alternate_languages
S["autohiss"] >> pref.autohiss_setting
/datum/category_item/player_setup_item/general/language/save_character(var/savefile/S)
S["language"] << pref.alternate_languages
S["autohiss"] << pref.autohiss_setting
/datum/category_item/player_setup_item/general/language/gather_load_query()
return list(
"ss13_characters" = list(
"vars" = list(
"language" = "alternate_languages"
"language" = "alternate_languages",
"autohiss" = "autohiss_setting"
),
"args" = list("id")
)
@@ -26,13 +29,15 @@
"ss13_characters" = list(
"id" = 1,
"ckey" = 1,
"language"
"language",
"autohiss"
)
)
/datum/category_item/player_setup_item/general/language/gather_save_parameters()
return list(
"language" = list2params(pref.alternate_languages),
"autohiss" = pref.autohiss_setting,
"id" = pref.current_character,
"ckey" = PREF_CLIENT_CKEY
)
@@ -41,6 +46,7 @@
if (sql_load)
pref.alternate_languages = params2list(pref.alternate_languages)
pref.autohiss_setting = text2num(pref.autohiss_setting)
if(!islist(pref.alternate_languages))
pref.alternate_languages = list()
@@ -92,6 +98,11 @@
else
dat += "- [pref.species] cannot choose secondary languages.<br>"
if(S.has_autohiss)
pref.autohiss_setting = clamp(pref.autohiss_setting, AUTOHISS_OFF, AUTOHISS_NUM - 1)
var/list/autohiss_to_word = list("Disabled", "Basic", "Full")
dat += "<br><a href='?src=\ref[src];autohiss=1'>Autohiss: [autohiss_to_word[pref.autohiss_setting + 1]]</a><br>"
. = dat.Join()
/datum/category_item/player_setup_item/general/language/OnTopic(var/href,var/list/href_list, var/mob/user)
@@ -127,4 +138,9 @@
else
pref.alternate_languages |= new_lang
return TOPIC_REFRESH
return ..()
else if(href_list["autohiss"])
pref.autohiss_setting = (pref.autohiss_setting + 1) % AUTOHISS_NUM
if(isnull(pref.autohiss_setting))
pref.autohiss_setting = AUTOHISS_OFF
return TOPIC_REFRESH
return ..()