//SKYRAT EDIT - extra language /datum/preferences/proc/SetLanguage(mob/user) var/list/dat = list() dat += "
Choose Additional Languages

" if(!CONFIG_GET(number/max_languages) == 0) dat += "
Do note, however, you can have many languages. Do not abuse this.

" dat += "
If you want no additional language at all, click reset to disable all languages.

" dat += "
" 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 if(L.restricted) restricted = TRUE var/font_color = "#4682B4" 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 var/picked = FALSE dat += "[language_name]: [initial(L.desc)]" if(language_name in language) picked = TRUE dat += "[picked ? "Remove" : "Choose"]
" else dat += "
The language subsystem hasn't fully loaded yet! Please wait a bit and try again.

" dat += "
" dat += "
Reset
" else dat += "
" dat += "Additional Languages are disabled." dat += "
" dat += "
Done
" var/datum/browser/popup = new(user, "mob_occupation", "
Language Preference
", 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/proc/toggle_language(lang) if(lang in language) language -= lang else if(check_language_maxhit()) if(CONFIG_GET(number/max_languages) == 1) to_chat(usr, span_danger("You can only have 1 additional language!")) else to_chat(usr, span_danger("You can only have up to [CONFIG_GET(number/max_languages)] additional languages!")) else language += lang /datum/preferences/proc/check_language_maxhit() if(CONFIG_GET(number/max_languages) == -1) //infinite return FALSE else if(language.len >= CONFIG_GET(number/max_languages)) return TRUE