Adds informed default values for a bunch of preferences (to produce less outlandish random characters) (#84726)

## About The Pull Request

Goes through a bunch of character preferences and adds informed default
values which produce less wacky results.

Basically part 2 of #84443 . Preference randomization now results in a
character similar to that pictured in the original pr.

Of course, you can still make your character look as wacky as ever. 


![image](https://github.com/tgstation/tgstation/assets/51863163/0adef385-8a3d-46ed-b657-8c6712ec5ccf)

## Why It's Good For The Game

Basically, fully random characters look horrendous, and unless you're
playing a non-human, you stick out like a sore thumb if you hardcore
random or just decide to random appearance.

Ultimately, full-random people will stick out less, which I think is
good.

## Changelog

🆑 Melbert
qol: Random player characters now look less like rainbow vomit and more
like some of the most average people you know.
/🆑
This commit is contained in:
MrMelbert
2024-07-07 15:04:00 -04:00
committed by GitHub
parent 273322f8b6
commit 5b3c32e5cf
18 changed files with 149 additions and 40 deletions
+3 -13
View File
@@ -38,16 +38,6 @@
* (IE, no wacky hair styles / colors)
*/
/proc/randomize_human_normie(mob/living/carbon/human/human, randomize_mutations = FALSE)
var/static/list/natural_hair_colors = list(
"#111111", "#362925", "#3B3831", "#41250C", "#412922",
"#544C49", "#583322", "#593029", "#703b30", "#714721",
"#744729", "#74482a", "#7b746e", "#855832", "#863019",
"#8c4734", "#9F550E", "#A29A96", "#A4381C", "#B17B41",
"#C0BAB7", "#EFE5E4", "#F7F3F1", "#FFF2D6", "#a15537",
"#a17e61", "#b38b67", "#ba673c", "#c89f73", "#d9b380",
"#dbc9b8", "#e1621d", "#e17d17", "#e1af93", "#f1cc8f",
"#fbe7a1",
)
// Sorry enbys but statistically you are not average enough
human.gender = human.dna.species.sexes ? pick(MALE, FEMALE) : PLURAL
human.physique = human.gender
@@ -57,14 +47,14 @@
human.eye_color_right = human.eye_color_left
human.skin_tone = pick(GLOB.skin_tones)
// No underwear generation handled here
var/picked_color = pick(natural_hair_colors)
var/picked_color = random_hair_color()
human.set_haircolor(picked_color, update = FALSE)
human.set_facial_haircolor(picked_color, update = FALSE)
var/datum/sprite_accessory/hairstyle = SSaccessories.hairstyles_list[random_hairstyle(human.gender)]
if(hairstyle?.natural_spawn)
if(hairstyle && hairstyle.natural_spawn && !hairstyle.locked)
human.set_hairstyle(hairstyle.name, update = FALSE)
var/datum/sprite_accessory/facial_hair = SSaccessories.facial_hairstyles_list[random_facial_hairstyle(human.gender)]
if(facial_hair?.natural_spawn)
if(facial_hair && facial_hair.natural_spawn && !facial_hair.locked)
human.set_facial_hairstyle(facial_hair.name, update = FALSE)
// Normal DNA init stuff, these can generally be wacky but we care less, they're aliens after all
human.dna.initialize_dna(newblood_type = random_blood_type(), create_mutation_blocks = randomize_mutations, randomize_features = TRUE)