This commit is contained in:
Roxy
2025-10-16 01:15:08 -04:00
parent 84c9236def
commit abc0daaa4b
18 changed files with 8 additions and 48 deletions
@@ -33,7 +33,7 @@
stack_trace("adding a [parent.type] to a [receiver.type] when it shouldn't be!")
if(imprint_on_next_insertion) //We only want this set *once*
var/feature_name = receiver.dna.features[feature_key] || receiver.dna.species.mutant_organs[parent.type]
var/feature_name = receiver.dna.features[feature_key] // BUBBER EDIT CHANGE - Original: var/feature_name = receiver.dna.features[feature_key] || receiver.dna.species.mutant_organs[parent.type]
if (isnull(feature_name))
/* SKYRAT EDIT - Customization - ORIGINAL:
stack_trace("[type] has no default feature name for organ [parent.type]!")
@@ -41,7 +41,7 @@
set_appearance_from_name(feature_name)
*/ // SKYRAT EDIT START
if(!set_appearance_from_dna(receiver.dna))
set_appearance_from_name(receiver.dna.species.mutant_organs[parent.type] || pick(get_global_feature_list()))
set_appearance_from_name(receiver.dna.species.mutant_organs[parent.type] || get_consistent_feature_entry(get_global_feature_list()))
else
set_appearance_from_name(feature_name)
// SKYRAT EDIT END
@@ -1590,27 +1590,6 @@ GLOBAL_LIST_EMPTY(features_by_species)
/datum/species/proc/get_types_to_preload()
return get_organs(FALSE)
/*
/datum/species/proc/get_mut_organs(include_brain = TRUE)
var/list/mut_organs = list()
mut_organs += mutant_organs
if (include_brain)
mut_organs += mutantbrain
mut_organs += mutantheart
mut_organs += mutantlungs
mut_organs += mutanteyes
mut_organs += mutantears
mut_organs += mutanttongue
mut_organs += mutantliver
mut_organs += mutantstomach
mut_organs += mutantappendix
list_clear_nulls(mut_organs)
return mut_organs
/datum/species/proc/get_types_to_preload()
return get_mut_organs(FALSE)
*/ // BUBBER EDIT - OR END
/**
* Owner login
+4
View File
@@ -125,6 +125,8 @@
brain.forceMove(dummy.loc)
allocated += brain
// BUBBER EDIT REMOVAL BEGIN - This test is non-functional with our mutant bodyparts system
/*
/datum/unit_test/felinid_ears
/datum/unit_test/felinid_ears/Run()
@@ -137,3 +139,5 @@
var/mob/living/carbon/human/anime_dummy = allocate(/mob/living/carbon/human/consistent)
anime_dummy.set_species(/datum/species/human/felinid, pref_load = TRUE)
TEST_ASSERT(istype(anime_dummy.get_organ_slot(ORGAN_SLOT_EARS), /obj/item/organ/ears/cat), "Felinid with default ears set did not have cat ears on species gain.")
*/
// BUBBER EDIT REMOVAL END
@@ -12,6 +12,7 @@
return cached_features
var/list/features = list()
var/list/mut_organs = get_organs()
for (var/preference_type in GLOB.preference_entries)
var/datum/preference/preference = GLOB.preference_entries[preference_type]
@@ -20,14 +21,10 @@
(preference.relevant_mutant_bodypart in GLOB.default_mutant_bodyparts[name]) \
|| (preference.relevant_inherent_trait in inherent_traits) \
|| (preference.relevant_head_flag && check_head_flags(preference.relevant_head_flag)) \
|| (preference.relevant_organ in mut_organs) \
)
features += preference.savefile_key
for (var/obj/item/organ/organ_type as anything in mutant_organs)
var/preference = initial(organ_type.preference)
if (!isnull(preference))
features += preference
GLOB.features_by_species[type] = features
return features
@@ -16,7 +16,6 @@
mutantpart_key = "snout"
mutantpart_info = list(MUTANT_INDEX_NAME = "None", MUTANT_INDEX_COLOR_LIST = list("#FFFFFF", "#FFFFFF", "#FFFFFF"))
external_bodyshapes = NONE // We don't actually want this to have by default, since some of them don't apply that.
preference = "feature_snout"
/datum/bodypart_overlay/mutant/snout
color_source = ORGAN_COLOR_OVERRIDE
@@ -4,7 +4,6 @@
mutantpart_key = "caps"
mutantpart_info = list(MUTANT_INDEX_NAME = "Round", MUTANT_INDEX_COLOR_LIST = list("#FF4B19"))
slot = ORGAN_SLOT_EXTERNAL_CAP
preference = "feature_caps"
organ_flags = ORGAN_EXTERNAL
/obj/item/organ/mushroom_cap/Initialize(mapload)
@@ -10,8 +10,6 @@
slot = ORGAN_SLOT_EXTERNAL_FLUFF
organ_flags = ORGAN_UNREMOVABLE
preference = "feature_fluff"
bodypart_overlay = /datum/bodypart_overlay/mutant/fluff
/datum/bodypart_overlay/mutant/fluff
@@ -1,5 +1,4 @@
/obj/item/organ/frills
preference = "feature_frills"
mutantpart_key = "frills"
mutantpart_info = list(MUTANT_INDEX_NAME = "Divinity", MUTANT_INDEX_COLOR_LIST = list("#FFFFFF"))
organ_flags = ORGAN_EXTERNAL
@@ -10,8 +10,6 @@
slot = ORGAN_SLOT_EXTERNAL_HEAD_ACCESSORY
organ_flags = ORGAN_UNREMOVABLE
preference = "feature_head_accessory"
bodypart_overlay = /datum/bodypart_overlay/mutant/head_accessory
/datum/bodypart_overlay/mutant/head_accessory
@@ -1,6 +1,5 @@
/obj/item/organ/horns
desc = "Why do some people even have horns? Well, this one obviously doesn't."
preference = "feature_horns"
mutantpart_key = "horns"
mutantpart_info = list(MUTANT_INDEX_NAME = "Simple", MUTANT_INDEX_COLOR_LIST = list("#FFFFFF"))
organ_flags = ORGAN_EXTERNAL
@@ -10,8 +10,6 @@
slot = ORGAN_SLOT_EXTERNAL_MOTH_MARKINGS
organ_flags = ORGAN_UNREMOVABLE
preference = "feature_moth_markings"
bodypart_overlay = /datum/bodypart_overlay/mutant/moth_markings
/datum/bodypart_overlay/mutant/moth_markings
@@ -10,8 +10,6 @@
slot = ORGAN_SLOT_EXTERNAL_NECK_ACCESSORY
organ_flags = ORGAN_UNREMOVABLE
preference = "feature_neck_accessory"
bodypart_overlay = /datum/bodypart_overlay/mutant/neck_accessory
/datum/bodypart_overlay/mutant/neck_accessory
@@ -9,7 +9,6 @@
zone = BODY_ZONE_HEAD
slot = ORGAN_SLOT_EXTERNAL_SKRELL_HAIR
organ_flags = ORGAN_EXTERNAL
preference = "feature_skrell_hair"
bodypart_overlay = /datum/bodypart_overlay/mutant/skrell_hair
use_mob_sprite_as_obj_sprite = TRUE
@@ -9,7 +9,6 @@
zone = BODY_ZONE_HEAD
slot = ORGAN_SLOT_EXTERNAL_SYNTH_ANTENNA
organ_flags = ORGAN_UNREMOVABLE
preference = "feature_ipc_antenna"
bodypart_overlay = /datum/bodypart_overlay/mutant/synth_antenna
use_mob_sprite_as_obj_sprite = TRUE
@@ -10,8 +10,6 @@
slot = ORGAN_SLOT_EXTERNAL_SYNTH_SCREEN
organ_flags = ORGAN_EXTERNAL
preference = "feature_ipc_screen"
bodypart_overlay = /datum/bodypart_overlay/mutant/synth_screen
use_mob_sprite_as_obj_sprite = TRUE
@@ -10,8 +10,6 @@
slot = ORGAN_SLOT_EXTERNAL_XENODORSAL
organ_flags = ORGAN_EXTERNAL
preference = "feature_xenodorsal"
bodypart_overlay = /datum/bodypart_overlay/mutant/xenodorsal
/datum/bodypart_overlay/mutant/xenodorsal
@@ -9,7 +9,6 @@
zone = BODY_ZONE_HEAD
slot = ORGAN_SLOT_EXTERNAL_XENOHEAD
preference = "feature_xenohead"
organ_flags = ORGAN_UNREMOVABLE
bodypart_overlay = /datum/bodypart_overlay/mutant/xenohead
@@ -7,7 +7,6 @@
external_bodyshapes = BODYSHAPE_TAUR
use_mob_sprite_as_obj_sprite = TRUE
preference = "feature_taur"
mutantpart_key = "taur"
mutantpart_info = list(MUTANT_INDEX_NAME = "None", MUTANT_INDEX_COLOR_LIST = list("#FFFFFF", "#FFFFFF", "#FFFFFF"))
bodypart_overlay = /datum/bodypart_overlay/mutant/taur_body