mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-11 16:14:08 +01:00
f357393f4e
## About The Pull Request Does as the title suggests, I also put the files into proper folders while I was in there per where they would be on base /tg/ based on where they were in the Effigy PRs. This is a port of all three of these PRs: https://github.com/effigy-se/effigy/pulls?q=is%3Apr+is%3Amerged+blooper ## Why It's Good For The Game This lets us change vocal barks easier, as well as letting us have more control over how easily and quickly we can remove and add specific ones if necessary. ## Proof Of Testing It compiled and ran without any runtimes. I would still highly recommend test merging this for a few weeks to get everything transferred over. ## Changelog 🆑 xPokee, LT3, TealSeer refactor: Refactored vocal bloopers to be a config based subsystem. config: Added all the previous vocal bloopers to the new config, as well as some new ones, look for them! /🆑 --------- Co-authored-by: gavla <96078776+shayoki@users.noreply.github.com>
54 lines
2.8 KiB
Plaintext
54 lines
2.8 KiB
Plaintext
/**
|
|
* Fully randomizes everything about a human, including DNA and name.
|
|
*/
|
|
/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.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)
|
|
human.set_haircolor("#[random_color()]", update = FALSE)
|
|
human.set_facial_haircolor(human.hair_color, update = FALSE)
|
|
human.set_eye_color(random_eye_color())
|
|
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_human_blood_type(), create_mutation_blocks = randomize_mutations, randomize_features = TRUE)
|
|
// SKYRAT EDIT ADDITION BEGIN - CUSTOMIZATION
|
|
human.dna.species.mutant_bodyparts = human.dna.mutant_bodyparts.Copy()
|
|
human.dna.species.body_markings = human.dna.body_markings.Copy()
|
|
// SKYRAT EDIT ADDITION END
|
|
// Snowflake for Ethereals
|
|
human.updatehealth()
|
|
human.updateappearance(mutcolor_update = TRUE)
|
|
|
|
/**
|
|
* Randomizes a human, but produces someone who looks exceedingly average (by most standards).
|
|
*
|
|
* (IE, no wacky hair styles / colors)
|
|
*/
|
|
/proc/randomize_human_normie(mob/living/carbon/human/human, randomize_mutations = FALSE, update_body = TRUE)
|
|
// Sorry enbys but statistically you are not average enough
|
|
human.gender = human.dna.species.sexes ? pick(MALE, FEMALE) : PLURAL
|
|
human.physique = human.gender
|
|
human.real_name = human.generate_random_mob_name()
|
|
human.name = human.get_visible_name()
|
|
human.set_eye_color(random_eye_color())
|
|
human.skin_tone = pick(GLOB.skin_tones)
|
|
// No underwear generation handled here
|
|
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 && 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 && 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_human_blood_type(), create_mutation_blocks = randomize_mutations, randomize_features = TRUE)
|
|
human.updatehealth()
|
|
if(update_body)
|
|
human.updateappearance(mutcolor_update = TRUE)
|