Some vanity fixes (#17797)

This commit is contained in:
Cameron Lennox
2025-06-04 05:11:21 -07:00
committed by GitHub
parent 04fa9d015b
commit 6934727f2b
2 changed files with 15 additions and 2 deletions
+8 -2
View File
@@ -505,6 +505,9 @@ var/list/preferences_datums = list()
var/datum/preference/numeric/wing_alpha = GLOB.preference_entries[/datum/preference/numeric/human/wing_alpha]
wing_alpha.apply_pref_to(character,read_preference(/datum/preference/numeric/human/wing_alpha))
var/datum/preference/numeric/skin_color = GLOB.preference_entries[/datum/preference/color/human/skin_color]
skin_color.apply_pref_to(character,read_preference(/datum/preference/color/human/skin_color))
character.set_gender(biological_gender)
// Destroy/cyborgize organs and limbs.
@@ -529,7 +532,7 @@ var/list/preferences_datums = list()
else
var/bodytype
var/datum/species/selected_species = GLOB.all_species[species]
if(selected_species.selects_bodytype)
if(custom_base)
bodytype = custom_base
else
bodytype = selected_species.get_bodytype()
@@ -577,6 +580,7 @@ var/list/preferences_datums = list()
character.fuzzy = fuzzy
character.offset_override = offset_override
character.voice_freq = voice_freq
character.size_multiplier = size_multiplier
character.resize(size_multiplier, animate = FALSE, ignore_prefs = TRUE)
var/list/traits_to_copy = list(/datum/trait/neutral/tall,
@@ -611,13 +615,15 @@ var/list/preferences_datums = list()
var/datum/species/selected_species = GLOB.all_species[species]
var/bodytype_selected
if(selected_species.selects_bodytype)
if(custom_base)
bodytype_selected = custom_base
else
bodytype_selected = selected_species.get_bodytype(character)
character.dna.base_species = bodytype_selected
character.species.base_species = bodytype_selected
character.species.icobase = character.species.get_icobase()
character.species.deform = character.species.get_icobase(get_deform = TRUE)
character.species.vanity_base_fit = bodytype_selected
if (istype(character.species, /datum/species/shapeshifter))
wrapped_species_by_ref["\ref[character]"] = bodytype_selected
@@ -26,6 +26,13 @@
return name
/datum/species/proc/get_icobase(var/mob/living/carbon/human/H, var/get_deform)
if(base_species == name) //We don't have a custom base_species? Return the normal icobase.
return (get_deform ? deform : icobase)
else
var/datum/species/S = GLOB.all_species[base_species]
if(S) //So species can have multiple iconbases.
return S.get_icobase(H, get_deform)
//fallback
return (get_deform ? deform : icobase)
/datum/species/proc/get_station_variant()