[MIRROR] Refactors body markings into bodypart overlays (#28241)

* Refactors body markings into bodypart overlays

* Update sprite_accessories.dm

* Update changeling.dm

* Update mothmen.dm

* Update dna.dm

* Update dna.dm

* Fix

* Update lizardpeople.dm

* Update mothmen.dm

* Update sprite_accessories.dm

* Update sprite_accessories.dm

* Update _species.dm

* Update sprite_accessories.dm

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
Co-authored-by: NovaBot <154629622+NovaBot13@users.noreply.github.com>
This commit is contained in:
SkyratBot
2024-06-30 13:49:32 +05:30
committed by GitHub
co-authored by Time-Green SpaceLoveSs13 NovaBot
parent 89d0be598d
commit 4a5e8d2644
29 changed files with 132 additions and 92 deletions
@@ -112,6 +112,10 @@ GLOBAL_LIST_INIT(preference_entries_by_key, init_preference_entries_by_key())
/// will show the feature as selectable.
var/relevant_mutant_bodypart = null
/// If the selected species has this in its /datum/species/body_markings,
/// will show the feature as selectable.
var/relevant_body_markings = null
/// If the selected species has this in its /datum/species/inherent_traits,
/// will show the feature as selectable.
var/relevant_inherent_trait = null
@@ -330,6 +334,7 @@ GLOBAL_LIST_INIT(preference_entries_by_key, init_preference_entries_by_key())
|| !isnull(relevant_inherent_trait) \
|| !isnull(relevant_external_organ) \
|| !isnull(relevant_head_flag) \
|| !isnull(relevant_body_markings) \
)
var/species_type = preferences.read_preference(/datum/preference/choiced/species)
@@ -30,20 +30,20 @@
category = PREFERENCE_CATEGORY_FEATURES
main_feature_name = "Body markings"
should_generate_icons = TRUE
relevant_mutant_bodypart = "body_markings"
relevant_body_markings = /datum/bodypart_overlay/simple/body_marking/lizard
/datum/preference/choiced/lizard_body_markings/init_possible_values()
return assoc_to_keys_features(SSaccessories.body_markings_list)
return assoc_to_keys_features(SSaccessories.lizard_markings_list)
/datum/preference/choiced/lizard_body_markings/icon_for(value)
var/datum/sprite_accessory/sprite_accessory = SSaccessories.body_markings_list[value]
var/datum/sprite_accessory/sprite_accessory = SSaccessories.lizard_markings_list[value]
var/icon/final_icon = icon('icons/mob/human/species/lizard/bodyparts.dmi', "lizard_chest_m")
if (sprite_accessory.icon_state != "none")
var/icon/body_markings_icon = icon(
'icons/mob/human/species/lizard/lizard_misc.dmi',
"m_body_markings_[sprite_accessory.icon_state]_ADJ",
"male_[sprite_accessory.icon_state]_chest",
)
final_icon.Blend(body_markings_icon, ICON_OVERLAY)
@@ -56,7 +56,7 @@
return final_icon
/datum/preference/choiced/lizard_body_markings/apply_to_human(mob/living/carbon/human/target, value)
target.dna.features["body_markings"] = value
target.dna.features["lizard_markings"] = value
/datum/preference/choiced/lizard_frills
savefile_key = "feature_lizard_frills"
@@ -35,7 +35,7 @@
category = PREFERENCE_CATEGORY_FEATURES
main_feature_name = "Body markings"
should_generate_icons = TRUE
relevant_mutant_bodypart = "moth_markings"
relevant_body_markings = /datum/bodypart_overlay/simple/body_marking/moth
/datum/preference/choiced/moth_markings/init_possible_values()
return assoc_to_keys_features(SSaccessories.moth_markings_list)