Add language variety to machines that speak (#71643)

## About The Pull Request
This builds on #70278 by giving other machines (vendors, newscasters,
computers, etc.) the ability to speak different languages. If the
station "Bot language malfunction" trait is rolled, then these machines
will select a random race starting language. If a machine is EMP'd then
it has a chance to change the language. There is also a language wire
that can be pulsed to change the language for vending machines.

Default language for machines is galactic common, but there are rare
exceptions:

- Beach vendors will now speak beachbum
- Syndicate vendors will now speak codespeak
- Changeling vendors will now speak a random language after each slogan 

## Why It's Good For The Game
More depth to the language feature.

## Changelog
🆑
add: Add language variety to machines that speak. You can also pulse the
vendor language wire to make it switch languages or EMP a machine to get
the same effect.
add: Shambling cola vendors will now speak a different language each
time they talk. Syndicate vendors will now speak codespeak. Beach
vendors will now speak beachbum.
/🆑
This commit is contained in:
Tim
2022-12-21 14:18:52 -08:00
committed by GitHub
parent 19071d7e54
commit f6caf9a008
10 changed files with 129 additions and 58 deletions
+14
View File
@@ -409,6 +409,20 @@ Key procs
/datum/language/monkey = list(LANGUAGE_ATOM))
spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
/datum/language/monkey = list(LANGUAGE_ATOM))
/datum/language_holder/syndicate
understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
/datum/language/codespeak = list(LANGUAGE_ATOM))
spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
/datum/language/codespeak = list(LANGUAGE_ATOM))
/datum/language_holder/beachbum
understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
/datum/language/beachbum = list(LANGUAGE_ATOM))
spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM),
/datum/language/beachbum = list(LANGUAGE_ATOM))
selected_language = /datum/language/beachbum
/datum/language_holder/empty
understood_languages = list()
spoken_languages = list()