mirror of
https://github.com/Sandstorm-Station/Sandstorm-Station-13.git
synced 2026-08-23 13:18:59 +01:00
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user