mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-18 03:26:31 +01:00
Random Name Generation refactor, generate random names based on languages (for species without name lists, like Felinids and Podpeople) (#83021)
## 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. /🆑
This commit is contained in:
@@ -16,7 +16,7 @@
|
||||
/proc/randomize_human(mob/living/carbon/human/human, randomize_mutations = FALSE)
|
||||
human.gender = human.dna.species.sexes ? pick(MALE, FEMALE, PLURAL, NEUTER) : PLURAL
|
||||
human.physique = human.gender
|
||||
human.real_name = human.dna?.species.random_name(human.gender) || random_unique_name(human.gender)
|
||||
human.real_name = human.generate_random_mob_name()
|
||||
human.name = human.get_visible_name()
|
||||
human.set_hairstyle(random_hairstyle(human.gender), update = FALSE)
|
||||
human.set_facial_hairstyle(random_facial_hairstyle(human.gender), update = FALSE)
|
||||
@@ -24,7 +24,7 @@
|
||||
human.set_facial_haircolor(human.hair_color, update = FALSE)
|
||||
human.eye_color_left = random_eye_color()
|
||||
human.eye_color_right = human.eye_color_left
|
||||
human.skin_tone = random_skin_tone()
|
||||
human.skin_tone = pick(GLOB.skin_tones)
|
||||
human.dna.species.randomize_active_underwear_only(human)
|
||||
// Needs to be called towards the end to update all the UIs just set above
|
||||
human.dna.initialize_dna(newblood_type = random_blood_type(), create_mutation_blocks = randomize_mutations, randomize_features = TRUE)
|
||||
|
||||
@@ -131,8 +131,7 @@ GLOBAL_DATUM(current_anonymous_theme, /datum/anonymous_theme)
|
||||
/datum/anonymous_theme/proc/anonymous_name(mob/target)
|
||||
var/datum/client_interface/client = GET_CLIENT(target)
|
||||
var/species_type = client.prefs.read_preference(/datum/preference/choiced/species)
|
||||
var/datum/species/species = new species_type
|
||||
return species.random_name(target.gender,1)
|
||||
return generate_random_name_species_based(target.gender, TRUE, species_type)
|
||||
|
||||
/**
|
||||
* anonymous_ai_name: generates a random name, based off of whatever the round's anonymousnames is set to (but for sillycones).
|
||||
|
||||
@@ -222,7 +222,7 @@ ADMIN_VERB(secrets, R_NONE, "Secrets", "Abuse harder than you ever have before w
|
||||
if("allspecies")
|
||||
if(!is_funmin)
|
||||
return
|
||||
var/result = input(holder, "Please choose a new species","Species") as null|anything in GLOB.species_list
|
||||
var/result = input(holder, "Please choose a new species","Species") as null|anything in sortTim(GLOB.species_list, GLOBAL_PROC_REF(cmp_text_asc))
|
||||
if(result)
|
||||
SSblackbox.record_feedback("nested tally", "admin_secrets_fun_used", 1, list("Mass Species Change", "[result]"))
|
||||
log_admin("[key_name(holder)] turned all humans into [result]")
|
||||
@@ -724,4 +724,3 @@ ADMIN_VERB(secrets, R_NONE, "Secrets", "Abuse harder than you ever have before w
|
||||
var/datum/antagonist/malf_ai/antag_datum = new
|
||||
antag_datum.give_objectives = keep_generic_objecives
|
||||
assign_admin_objective_and_antag(player, antag_datum)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user