mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-28 10:01:58 +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. /🆑
29 lines
937 B
Plaintext
29 lines
937 B
Plaintext
/datum/language/calcic
|
|
name = "Calcic"
|
|
desc = "The disjointed and staccato language of plasmamen. Also understood by skeletons."
|
|
key = "b"
|
|
space_chance = 10
|
|
syllables = list(
|
|
"k", "ck", "ack", "ick", "cl", "tk", "sk", "isk", "tak",
|
|
"kl", "hs", "ss", "ks", "lk", "dk", "gk", "ka", "ska", "la", "pk",
|
|
"wk", "ak", "ik", "ip", "ski", "bk", "kb", "ta", "is", "it", "li", "di",
|
|
"ds", "ya", "sck", "crk", "hs", "ws", "mk", "aaa", "skraa", "skee", "hss",
|
|
"raa", "klk", "tk", "stk", "clk"
|
|
)
|
|
icon_state = "calcic"
|
|
default_priority = 90
|
|
|
|
/datum/language/calcic/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 ..()
|
|
|
|
return "[pick(GLOB.plasmaman_names)] \Roman[rand(1, 99)]"
|
|
|
|
// Yeah, this goes to skeletons too, since it's basically just skeleton clacking.
|