mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-05 15:02:56 +00:00
@@ -30,6 +30,29 @@
|
||||
|
||||
if(!islist(pref.alternate_languages))
|
||||
pref.alternate_languages = list()
|
||||
// Nothing to validate. Leave.
|
||||
return
|
||||
|
||||
var/datum/species/S = all_species[pref.species] || all_species["Human"]
|
||||
|
||||
if (pref.alternate_languages.len > S.num_alternate_languages)
|
||||
to_chat(pref.client, "<span class='warning'>You have too many languages saved for [pref.species].<br><b>The list has been reset. Please check your languages in character creation!</b></span>")
|
||||
pref.alternate_languages.Cut()
|
||||
return
|
||||
|
||||
var/list/langs = S.secondary_langs.Copy()
|
||||
for (var/L in all_languages)
|
||||
var/datum/language/lang = all_languages[L]
|
||||
if (!(lang.flags & RESTRICTED) && (!config.usealienwhitelist || is_alien_whitelisted(user, L) || !(lang.flags & WHITELISTED)))
|
||||
langs |= L
|
||||
|
||||
var/list/bad_langs = pref.alternate_languages - langs
|
||||
if (bad_langs.len)
|
||||
to_chat(pref.client, "<span class='warning'>[bad_langs.len] invalid languages were found in your character setup!</span>")
|
||||
|
||||
for (var/L in bad_langs)
|
||||
to_chat(pref.client, "<span class='notice'>Removing the language \"[L]\" from your character.</span>")
|
||||
pref.alternate_languages -= L
|
||||
|
||||
/datum/category_item/player_setup_item/general/language/content()
|
||||
. += "<b>Languages</b><br>"
|
||||
@@ -52,7 +75,9 @@
|
||||
/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"])
|
||||
pref.alternate_languages.Cut(index, index+1)
|
||||
if (index > 0 && index <= pref.alternate_languages.len)
|
||||
pref.alternate_languages -= pref.alternate_languages[index]
|
||||
|
||||
return TOPIC_REFRESH
|
||||
else if(href_list["add_language"])
|
||||
var/datum/species/S = all_species[pref.species]
|
||||
|
||||
Reference in New Issue
Block a user