/tg/ Station 13 - Modules - TypesVar Details - Proc Details

language

Datum based languages. Easily editable and modular.

Vars

additional_syllable_highScramble word interprets the word as this much longer than it really is (high end) You can set this to an arbitarily large negative number to make all words only one syllable.
additional_syllable_lowScramble word interprets the word as this much longer than it really is (low end) You can set this to an arbitarily large negative number to make all words only one syllable.
always_use_default_namelistIf TRUE, when generating names, we will always use the default human namelist, even if we have syllables set. This is to be used for languages with very outlandish syllable lists (like pirates).
between_word_sentence_chanceLikelihood of making a new sentence after each word.
between_word_space_chanceLikelyhood of adding a space between words.
default_name_countBy default, random names picks this many names
default_name_syllable_maxBy default, random names picks this many syllables (max)
default_name_syllable_minBy default, random names picks this many syllables (min)
default_priorityThe language that an atom knows with the highest "default_priority" is selected by default.
descShort description for 'Check Languages'.
flagsVarious language flags.
iconIcon displayed in the chat window when speaking this language. if you are seeing someone speak popcorn language, then something is wrong.
icon_stateIcon state displayed in the chat window when speaking this language.
keyCharacter used to speak in language If key is null, then the language isn't real or learnable.
last_sentence_cacheCache of recently spoken sentences So if one person speaks over the radio, everyone hears the same thing.
most_common_cacheScramble cache, but for the 1000 most common words in the English language. These are never rescrambled, so they will consistently be the same thing.
mutual_understandingAssoc Lazylist of other language types that would have a degree of mutual understanding with this language. For example, you could do list(/datum/language/common = 50) to say that this language has a 50% chance to understand common words And yeah if you give a 100% chance, they can basically just understand the language. Not sure why you would do that though.
nameFluff name of language if any.
random_name_spacerWhat char to place in between randomly generated names
scramble_cacheCache of recently scrambled text This allows commonly reused words to not require a full re-scramble every time. Is limited to the last SCRAMBLE_CACHE_LEN words spoken. After surpassing this limit, the oldest word will be removed from the cache and rescrambled if spoken again.
sentence_chanceLikelihood of making a new sentence after each syllable.
space_chanceLikelihood of adding a space between syllables.
spansSpans to apply from this language
special_charactersList of characters that will randomly be inserted between syllables.
syllablesUsed when scrambling text for a non-speaker.

Procs

default_nameSimple helper for getting a default firstname lastname
display_iconChecks whether we should display the language icon to the passed hearer.
get_iconReturns the icon to display in the chat window when speaking this language.
get_random_nameGenerates a random name this language would use.
get_random_unique_nameGenerates a random name, and attempts to ensure it is unique (IE, no other mob in the world has it)
read_sentence_cacheChecks the sentence cache for a sentence
read_word_cacheChecks the word cache for a word
scramble_sentenceScrambles a sentence in this language.
scramble_wordScrambles a single word in this language.
write_sentence_cacheAdds a sentence to the cache, though the sentence should be modified with a key
write_word_cacheAdds a word to the cache

Var Details

additional_syllable_high

Scramble word interprets the word as this much longer than it really is (high end) You can set this to an arbitarily large negative number to make all words only one syllable.

additional_syllable_low

Scramble word interprets the word as this much longer than it really is (low end) You can set this to an arbitarily large negative number to make all words only one syllable.

always_use_default_namelist

If TRUE, when generating names, we will always use the default human namelist, even if we have syllables set. This is to be used for languages with very outlandish syllable lists (like pirates).

between_word_sentence_chance

Likelihood of making a new sentence after each word.

between_word_space_chance

Likelyhood of adding a space between words.

default_name_count

By default, random names picks this many names

default_name_syllable_max

By default, random names picks this many syllables (max)

default_name_syllable_min

By default, random names picks this many syllables (min)

default_priority

The language that an atom knows with the highest "default_priority" is selected by default.

desc

Short description for 'Check Languages'.

flags

Various language flags.

icon

Icon displayed in the chat window when speaking this language. if you are seeing someone speak popcorn language, then something is wrong.

icon_state

Icon state displayed in the chat window when speaking this language.

key

Character used to speak in language If key is null, then the language isn't real or learnable.

last_sentence_cache

Cache of recently spoken sentences So if one person speaks over the radio, everyone hears the same thing.

This is an assoc list [sentence] = [key, scrambled_text] Where key is a string that is used to determine context about the listener (like what languages they know)

Case sensitive, punctuation sensitive.

most_common_cache

Scramble cache, but for the 1000 most common words in the English language. These are never rescrambled, so they will consistently be the same thing.

Case insensitive, punctuation insensitive.

mutual_understanding

Assoc Lazylist of other language types that would have a degree of mutual understanding with this language. For example, you could do list(/datum/language/common = 50) to say that this language has a 50% chance to understand common words And yeah if you give a 100% chance, they can basically just understand the language. Not sure why you would do that though.

name

Fluff name of language if any.

random_name_spacer

What char to place in between randomly generated names

scramble_cache

Cache of recently scrambled text This allows commonly reused words to not require a full re-scramble every time. Is limited to the last SCRAMBLE_CACHE_LEN words spoken. After surpassing this limit, the oldest word will be removed from the cache and rescrambled if spoken again.

Case insensitive, punctuation insensitive.

sentence_chance

Likelihood of making a new sentence after each syllable.

space_chance

Likelihood of adding a space between syllables.

spans

Spans to apply from this language

special_characters

List of characters that will randomly be inserted between syllables.

syllables

Used when scrambling text for a non-speaker.

Proc Details

default_name

Simple helper for getting a default firstname lastname

display_icon

Checks whether we should display the language icon to the passed hearer.

get_icon

Returns the icon to display in the chat window when speaking this language.

get_random_name

Generates a random name this language would use.

get_random_unique_name

Generates a random name, and attempts to ensure it is unique (IE, no other mob in the world has it)

read_sentence_cache

Checks the sentence cache for a sentence

read_word_cache

Checks the word cache for a word

scramble_sentence

Scrambles a sentence in this language.

Takes into account any languages the hearer knows that has mutual understanding with this language.

scramble_word

Scrambles a single word in this language.

write_sentence_cache

Adds a sentence to the cache, though the sentence should be modified with a key

write_word_cache

Adds a word to the cache