White Sands - Modules - TypesVar Details - Proc Details

/datum/language_holder

Vars

blocked_languagesA list of blocked languages. Used to prevent understanding and speaking certain languages, ie for certain mobs, mutations etc.
language_menuHandles displaying the language menu UI.
omnitongueIf true, overrides tongue limitations.
ownerTracks the entity that owns the holder.
selected_languageCurrently spoken language
spoken_languagesA list of languages that can be spoken. Tongue organ may also set limits beyond this list.
understood_languagesUnderstood languages.

Procs

NewInitializes, and copies in the languages from the current atom if available.
add_blocked_languageAdds a single language or list of languages to the blocked language list.
can_speak_languageChecks if you can speak the language. Tongue limitations should be supplied as an argument.
copy_languagesCopies 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_atomGets the atom, since we some times need to check if the tongue has limitations.
get_random_spoken_languageGets a random spoken language, useful for forced speech and such.
get_random_understood_languageGets a random understood language, useful for hallucinations and such.
get_selected_languageReturns selected language if it can be spoken, or decides, sets and returns a new selected language if possible.
grant_all_languagesGrants every language to understood and spoken, and gives omnitongue.
grant_languageGrants the supplied language.
has_languageChecks if you have the language. If spoken is true, only checks if you can speak the language.
open_language_menuOpens a language menu reading from the language holder.
remove_all_languagesRemoves every language and optionally sets omnitongue false. If a non default source is supplied, only removes that source.
remove_blocked_languageRemoves a single language or list of languages from the blocked language list.
remove_languageRemoves a single language or source, removing all sources returns the pre-removal state of the language.
update_atom_languagesEmpties 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.