Pulls #1706 from Skyrat (#18)

This commit is contained in:
Enric Gabriel
2020-07-02 02:20:27 -03:00
committed by GitHub
parent 9c5a13d6d7
commit 72f993fdbd
42 changed files with 432 additions and 51 deletions
+64 -1
View File
@@ -164,6 +164,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
)
var/custom_speech_verb = "default" //if your say_mod is to be something other than your races
var/custom_tongue = "default" //if your tongue is to be something other than your races
var/language = ""
var/list/custom_names = list()
var/preferred_ai_core_display = "Blue"
@@ -337,6 +338,10 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<a href ='?_src_=prefs;preference=[custom_name_id];task=input'><b>[namedata["pref_name"]]:</b> [custom_names[custom_name_id]]</a> "
dat += "<br><br>"
//SKYRAT EDIT - additional language
dat += "<b>Additional Language</b><br>"
dat += "<a href='?_src_=prefs;preference=language;task=menu'>[language ? language : "None"]</a></center><br>"
//
dat += "<b>Custom job preferences:</b><BR>"
dat += "<a href='?_src_=prefs;preference=ai_core_icon;task=input'><b>Preferred AI Core Display:</b> [preferred_ai_core_display]</a><br>"
dat += "<a href='?_src_=prefs;preference=sec_dept;task=input'><b>Preferred Security Department:</b> [prefered_security_department]</a><BR></td>"
@@ -1464,6 +1469,48 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if(SSquirks.quirk_points[q] > 0)
.++
//SKYRAT EDIT - extra language
/datum/preferences/proc/SetLanguage(mob/user)
var/list/dat = list()
dat += "<center><b>Choose an Additional Language</b></center><br>"
dat += "<center>Do note, however, than you can only have one chosen language.</center><br>"
dat += "<center>If you want no additional language at all, simply remove the currently chosen language.</center><br>"
dat += "<hr>"
if(SSlanguage && SSlanguage.languages_by_name.len)
for(var/V in SSlanguage.languages_by_name)
var/datum/language/L = SSlanguage.languages_by_name[V]
if(!L)
return
var/language_name = initial(L.name)
var/restricted = FALSE
var/has_language = FALSE
if(L.restricted)
restricted = TRUE
if(language_name == language)
has_language = TRUE
var/font_color = "#4682B4"
var/nullify = ""
if(restricted && !(language_name in pref_species.languagewhitelist))
var/quirklanguagefound = FALSE
for(var/datum/quirk/Q in all_quirks)
if(language_name in Q.languagewhitelist)
quirklanguagefound = TRUE
if(!quirklanguagefound)
continue
else
dat += "<b><font color='[font_color]'>[language_name]:</font></b> [initial(L.desc)]"
dat += "<a href='?_src_=prefs;preference=language;task=update;language=[has_language ? nullify : language_name]'>[has_language ? "Remove" : "Choose"]</a><br>"
else
dat += "<center><b>The language subsystem hasn't fully loaded yet! Please wait a bit and try again.</b></center><br>"
dat += "<hr>"
dat += "<center><a href='?_src_=prefs;preference=language;task=close'>Done</a></center>"
var/datum/browser/popup = new(user, "mob_occupation", "<div align='center'>Language Preference</div>", 900, 600) //no reason not to reuse the occupation window, as it's cleaner that way
popup.set_window_options("can_close=0")
popup.set_content(dat.Join())
popup.open(FALSE)
//
/datum/preferences/Topic(href, href_list, hsrc) //yeah, gotta do this I guess..
. = ..()
if(href_list["close"])
@@ -1557,7 +1604,23 @@ GLOBAL_LIST_EMPTY(preferences_datums)
else
SetQuirks(user)
return TRUE
//SKYRAT CHANGE - only language pref
else if(href_list["preference"] == "language")
switch(href_list["task"])
if("close")
user << browse(null, "window=mob_occupation")
ShowChoices(user)
if("update")
var/lang = href_list["language"]
if(SSlanguage.languages_by_name[lang] || lang == "")
language = lang
SetLanguage(user)
else
SetLanguage(user)
else
SetLanguage(user)
return TRUE
//
switch(href_list["task"])
if("random")
switch(href_list["preference"])
@@ -514,6 +514,9 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
//Quirks
S["all_quirks"] >> all_quirks
//SKYRAT ADDITION - additional language
S["language"] >> language
//
//Citadel code
S["feature_genitals_use_skintone"] >> features["genitals_use_skintone"]
@@ -821,6 +824,9 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
//Quirks
WRITE_FILE(S["all_quirks"] , all_quirks)
//SKYRAT ADDITION - additional language
WRITE_FILE(S["language"] , language)
//
WRITE_FILE(S["vore_flags"] , vore_flags)
WRITE_FILE(S["vore_taste"] , vore_taste)