mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-19 05:26:28 +00:00
## About The Pull Request This PR moves random name generation for species onto their languages. What does this mean? - For species with a predefined name list, such as Lizards and Moths, nothing. - For species without predefined name lists, such as Felinids, their names will now be randomly generated from their language's syllables.   (In the prefs menu:)  Why? - Well, we actually had some dead code that did this. All I did was fix it up and re-enable it. - Generates some pretty believable in-universe names for various languages that are lacking name lists. Obviously defined lists would be preferred, but until they are added, at least. - Moves some stuff off of species, which is always nice. - Also hopefully makes it a tad easier to work with name generation. There's now a standard framework for getting a random name for a mob, and for getting a random name based on a species. Misc: - Adds a generic `species_prototype` global, uses it in a lot of places in prefs code. - Makes `GLOB.species_list` init via the global defines - Deletes Language SS - Alphabetizes some instances of admin tooling using the list of all species IDs - Docs language stuff - Deletes random_skin_tone, it does pretty much nothin ## Changelog 🆑 Melbert refactor: Random Name Generation has been refactored. Report any instances of people having weird (or "Unknown") names. qol: Felinids, Slimepeople, Podpeople, and some other species without defined namelists now automatically generate names based on their primary language(s). qol: More non-human names can be generated in codewords (and other misc. areas) than just lizard names. /🆑
32 lines
976 B
Plaintext
32 lines
976 B
Plaintext
/datum/language/terrum
|
|
name = "Terrum"
|
|
desc = "The language of the golems. Sounds similar to old-earth Hebrew."
|
|
key = "g"
|
|
space_chance = 40
|
|
syllables = list(
|
|
"sha", "vu", "nah", "ha", "yom", "ma", "cha", "ar", "et", "mol", "lua",
|
|
"ch", "na", "sh", "ni", "yah", "bes", "ol", "hish", "ev", "la", "ot", "la",
|
|
"khe", "tza", "chak", "hak", "hin", "hok", "lir", "tov", "yef", "yfe",
|
|
"cho", "ar", "kas", "kal", "ra", "lom", "im", "bok",
|
|
"erev", "shlo", "lo", "ta", "im", "yom"
|
|
)
|
|
special_characters = list("'")
|
|
icon_state = "golem"
|
|
default_priority = 90
|
|
|
|
/datum/language/terrum/get_random_name(
|
|
gender = NEUTER,
|
|
name_count = default_name_count,
|
|
syllable_min = default_name_syllable_min,
|
|
syllable_max = default_name_syllable_max,
|
|
force_use_syllables = FALSE,
|
|
)
|
|
if(force_use_syllables)
|
|
return ..()
|
|
|
|
var/name = pick(GLOB.golem_names)
|
|
// 3% chance to be given a human surname for "lore reasons"
|
|
if (prob(3))
|
|
name += " [pick(GLOB.last_names)]"
|
|
return name
|