mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 12:41:09 +01:00
## About The Pull Request Kills every instance of the body_size feature and changes everything to use current_size, RESIZE_DEFAULT_SIZE, and update_transform. Also cleans up oversized code big time. The only player-facing change from this is that the oversized specific organs are now gone. ## Why It's Good For The Game The oversized code was a mess and having snowflakey features when the proc and such already exists caused me pain. ## Proof Of Testing See below. <details> <summary>Screenshots/Videos</summary> https://github.com/user-attachments/assets/017fb9e3-aef9-48ce-a64e-b24a99ae49eb https://github.com/user-attachments/assets/4cdaa48c-0237-4447-a943-cabb222be25b https://github.com/user-attachments/assets/3bab0b0c-5098-4d51-b77e-994e21bcf87e </details> ## Changelog 🆑 del: Removed the oversized specific organs. /🆑
65 lines
2.6 KiB
Plaintext
65 lines
2.6 KiB
Plaintext
/// Species preference
|
|
/datum/preference/choiced/species
|
|
savefile_identifier = PREFERENCE_CHARACTER
|
|
savefile_key = "species"
|
|
priority = PREFERENCE_PRIORITY_SPECIES
|
|
randomize_by_default = FALSE
|
|
|
|
/datum/preference/choiced/species/deserialize(input, datum/preferences/preferences)
|
|
return GLOB.species_list[sanitize_inlist(input, get_choices_serialized(), SPECIES_HUMAN)]
|
|
|
|
/datum/preference/choiced/species/serialize(input)
|
|
var/datum/species/species = input
|
|
return initial(species.id)
|
|
|
|
/datum/preference/choiced/species/create_default_value()
|
|
return /datum/species/human
|
|
|
|
/datum/preference/choiced/species/create_random_value(datum/preferences/preferences)
|
|
return pick(get_choices())
|
|
|
|
/datum/preference/choiced/species/init_possible_values()
|
|
var/list/values = list()
|
|
|
|
for (var/species_id in get_selectable_species())
|
|
values += GLOB.species_list[species_id]
|
|
|
|
//SKYRAT EDIT ADDITION
|
|
for (var/species_id in get_customizable_races())
|
|
values += GLOB.species_list[species_id]
|
|
//SKYRAT EDIT END
|
|
|
|
return values
|
|
|
|
/datum/preference/choiced/species/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/prefs)
|
|
target.set_species(value, icon_update = FALSE, pref_load = FALSE, override_features = prefs?.features.Copy(), override_mutantparts = prefs?.mutant_bodyparts.Copy(), override_markings = prefs?.body_markings.Copy()) // SKYRAT EDIT - Customization
|
|
|
|
//SKYRAT EDIT ADDITION
|
|
for(var/organ_key in list(ORGAN_SLOT_VAGINA, ORGAN_SLOT_PENIS, ORGAN_SLOT_BREASTS, ORGAN_SLOT_ANUS))
|
|
var/obj/item/organ/genital/gent = target.get_organ_slot(organ_key)
|
|
if(gent)
|
|
gent.aroused = prefs.arousal_preview
|
|
gent.update_sprite_suffix()
|
|
//SKYRAT EDIT END
|
|
|
|
/datum/preference/choiced/species/compile_constant_data()
|
|
var/list/data = list()
|
|
|
|
for (var/species_id in (get_selectable_species() + get_customizable_races())) //SKYRAT EDIT CHANGE
|
|
var/species_type = GLOB.species_list[species_id]
|
|
var/datum/species/species = GLOB.species_prototypes[species_type]
|
|
|
|
data[species_id] = list()
|
|
data[species_id]["name"] = species.name
|
|
data[species_id]["desc"] = species.get_species_description()
|
|
data[species_id]["lore"] = species.get_species_lore()
|
|
data[species_id]["icon"] = sanitize_css_class_name(species.name)
|
|
data[species_id]["use_skintones"] = (TRAIT_USES_SKINTONES in species.inherent_traits)
|
|
data[species_id]["sexes"] = species.sexes
|
|
data[species_id]["enabled_features"] = species.get_features()
|
|
data[species_id]["perks"] = species.get_species_perks()
|
|
data[species_id]["diet"] = species.get_species_diet()
|
|
data[species_id]["sort_bottom"] = species.sort_bottom //BUBBER EDIT ADDITION: Do we sort the species to the bottom?
|
|
|
|
return data
|