language 
Datum based languages. Easily editable and modular.
Vars | |
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. |
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. |
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. |
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. |
Procs | |
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. |
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 |
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.
- gender: What gender to generate from, if neuter / plural coin flips between male and female
- name_count: How many names to generate in, by default 2, for firstname lastname
- syllable_count: How many syllables to generate in each name, min
- syllable_max: How many syllables to generate in each name, max
- force_use_syllables: If the name should be generated from the syllables list. Only used for subtypes which implement custom name lists. Also requires the language has syllables set.
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