mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-05 14:32:52 +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. /🆑
33 lines
930 B
Plaintext
33 lines
930 B
Plaintext
// One of these languages will actually work, I'm certain of it.
|
|
/datum/language/voltaic
|
|
name = "Voltaic"
|
|
desc = "A sparky language made by manipulating electrical discharge."
|
|
key = "v"
|
|
space_chance = 20
|
|
syllables = list(
|
|
"bzzt", "skrrt", "zzp", "mmm", "hzz", "tk", "shz", "k", "z",
|
|
"bzt", "zzt", "skzt", "skzz", "hmmt", "zrrt", "hzzt", "hz",
|
|
"vzt", "zt", "vz", "zip", "tzp", "lzzt", "dzzt", "zdt", "kzt",
|
|
"zzzz", "mzz"
|
|
)
|
|
icon_state = "volt"
|
|
default_priority = 90
|
|
default_name_syllable_min = 2
|
|
default_name_syllable_max = 3
|
|
|
|
|
|
/datum/language/voltaic/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/picked = "[pick(GLOB.ethereal_names)] [random_capital_letter()]"
|
|
if(prob(65))
|
|
picked += random_capital_letter()
|
|
return picked
|