Fix runtime from bilingual curators (#76199)

## About The Pull Request

`pick` from an empty list, because curators already know all the
languages the quirk can give you

## Why It's Good For The Game

Runtime fix

## Changelog

🆑 Melbert
fix: Fix a runtime involving Bilingual Curators
qol: Bilinguals get a message on spawn reporting which language they've
learned, or a message reporting they have learned no language if they're
already fluent in all possible ones.
/🆑
This commit is contained in:
MrMelbert
2023-06-22 01:00:32 -05:00
committed by GitHub
parent be6b3cf330
commit b78ea0997b
+15 -6
View File
@@ -231,21 +231,30 @@
/datum/language/terrum,
/datum/language/voltaic,
)
var/extra_language
var/datum/language/extra_language
mail_goodies = list(/obj/item/taperecorder, /obj/item/clothing/head/frenchberet, /obj/item/clothing/mask/fakemoustache/italian)
/datum/quirk/bilingual/add(client/client_source)
var/mob/living/carbon/human/human_holder = quirk_holder
//prevents yourself from learning a language you already have
for(var/datum/language/spoken as anything in possible_languages)
if(human_holder.has_language(spoken))
if(quirk_holder.has_language(spoken))
possible_languages -= spoken
if(!length(possible_languages))
return
extra_language = pick(possible_languages)
human_holder.grant_language(extra_language, understood = TRUE, spoken = TRUE, source = LANGUAGE_QUIRK)
quirk_holder.grant_language(extra_language, understood = TRUE, spoken = TRUE, source = LANGUAGE_QUIRK)
/datum/quirk/bilingual/post_add()
if(extra_language)
to_chat(quirk_holder, span_info("From your bilingualism, you are additionally fluent in [initial(extra_language.name)]."))
else
to_chat(quirk_holder, span_info("You are already fluent in all languages, making you far more than bilingual."))
/datum/quirk/bilingual/remove()
var/mob/living/carbon/human/human_holder = quirk_holder
human_holder.remove_language(extra_language)
if(!extra_language)
return
quirk_holder.remove_language(extra_language)
/datum/quirk/item_quirk/poster_boy
name = "Poster Boy"