Fixing runtimes V2 (#6006)

This commit is contained in:
Mykhailo Bykhovtsev
2019-02-10 15:05:12 -08:00
committed by Erki
parent 0ad9a54f2d
commit f83895cb82
15 changed files with 100 additions and 28 deletions

View File

@@ -38,6 +38,7 @@
)
/datum/category_item/player_setup_item/general/language/sanitize_character(var/sql_load = 0)
if (sql_load)
pref.alternate_languages = params2list(pref.alternate_languages)
@@ -49,22 +50,25 @@
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>")
if(pref.client)
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(pref.client.mob, L) || !(lang.flags & WHITELISTED)))
if (pref.client && !(lang.flags & RESTRICTED) && (!config.usealienwhitelist || is_alien_whitelisted(pref.client.mob, 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 language\s were found in your character setup! Please save your character again to stop this error from repeating!</span>")
if(pref.client)
to_chat(pref.client, "<span class='warning'>[bad_langs.len] invalid language\s were found in your character setup! Please save your character again to stop this error from repeating!</span>")
for (var/L in bad_langs)
to_chat(pref.client, "<span class='notice'>Removing the language \"[L]\" from your character.</span>")
if(pref.client)
to_chat(pref.client, "<span class='notice'>Removing the language \"[L]\" from your character.</span>")
pref.alternate_languages -= L
var/datum/category_group/player_setup_category/cat = category