/datum/language_holder
Vars | |
blocked_languages | A list of blocked languages. Used to prevent understanding and speaking certain languages, ie for certain mobs, mutations etc. |
---|---|
language_menu | Handles displaying the language menu UI. |
omnitongue | If true, overrides tongue limitations. |
owner | Tracks the entity that owns the holder. |
selected_language | Currently spoken language |
spoken_languages | A list of languages that can be spoken. Tongue organ may also set limits beyond this list. |
understood_languages | Understood languages. |
Procs | |
New | Initializes, and copies in the languages from the current atom if available. |
add_blocked_language | Adds a single language or list of languages to the blocked language list. |
can_speak_language | Checks if you can speak the language. Tongue limitations should be supplied as an argument. |
copy_languages | Copies all languages from the supplied atom/language holder. Source should be overridden when you do not want the language overwritten by later atom updates or want to avoid blocked languages. |
get_atom | Gets the atom, since we some times need to check if the tongue has limitations. |
get_random_spoken_language | Gets a random spoken language, useful for forced speech and such. |
get_random_understood_language | Gets a random understood language, useful for hallucinations and such. |
get_selected_language | Returns selected language if it can be spoken, or decides, sets and returns a new selected language if possible. |
grant_all_languages | Grants every language to understood and spoken, and gives omnitongue. |
grant_language | Grants the supplied language. |
has_language | Checks if you have the language. If spoken is true, only checks if you can speak the language. |
open_language_menu | Opens a language menu reading from the language holder. |
remove_all_languages | Removes every language and optionally sets omnitongue false. If a non default source is supplied, only removes that source. |
remove_blocked_language | Removes a single language or list of languages from the blocked language list. |
remove_language | Removes a single language or source, removing all sources returns the pre-removal state of the language. |
update_atom_languages | Empties out the atom specific languages and updates them according to the supplied atoms language holder. |
Var Details
blocked_languages
A list of blocked languages. Used to prevent understanding and speaking certain languages, ie for certain mobs, mutations etc.
language_menu
Handles displaying the language menu UI.
omnitongue
If true, overrides tongue limitations.
owner
Tracks the entity that owns the holder.
selected_language
Currently spoken language
spoken_languages
A list of languages that can be spoken. Tongue organ may also set limits beyond this list.
understood_languages
Understood languages.
Proc Details
New
Initializes, and copies in the languages from the current atom if available.
add_blocked_language
Adds a single language or list of languages to the blocked language list.
can_speak_language
Checks if you can speak the language. Tongue limitations should be supplied as an argument.
copy_languages
Copies all languages from the supplied atom/language holder. Source should be overridden when you do not want the language overwritten by later atom updates or want to avoid blocked languages.
get_atom
Gets the atom, since we some times need to check if the tongue has limitations.
get_random_spoken_language
Gets a random spoken language, useful for forced speech and such.
get_random_understood_language
Gets a random understood language, useful for hallucinations and such.
get_selected_language
Returns selected language if it can be spoken, or decides, sets and returns a new selected language if possible.
grant_all_languages
Grants every language to understood and spoken, and gives omnitongue.
grant_language
Grants the supplied language.
has_language
Checks if you have the language. If spoken is true, only checks if you can speak the language.
open_language_menu
Opens a language menu reading from the language holder.
remove_all_languages
Removes every language and optionally sets omnitongue false. If a non default source is supplied, only removes that source.
remove_blocked_language
Removes a single language or list of languages from the blocked language list.
remove_language
Removes a single language or source, removing all sources returns the pre-removal state of the language.
update_atom_languages
Empties out the atom specific languages and updates them according to the supplied atoms language holder.