Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-15-10-2025

This commit is contained in:
Roxy
2025-10-15 19:34:41 -04:00
656 changed files with 24772 additions and 15866 deletions
@@ -121,7 +121,7 @@ GLOBAL_LIST_INIT(preference_entries_by_key, init_preference_entries_by_key())
/// If the selected species has this in its /datum/species/var/external_organs,
/// will show the feature as selectable.
var/relevant_external_organ = null
var/relevant_organ = null
/// If the selected species has this head_flag by default,
/// will show the feature as selectable.
@@ -333,7 +333,7 @@ GLOBAL_LIST_INIT(preference_entries_by_key, init_preference_entries_by_key())
/// Checks if this preference is relevant and thus visible to the passed preferences object.
/datum/preference/proc/has_relevant_feature(datum/preferences/preferences)
if(isnull(relevant_inherent_trait) && isnull(relevant_external_organ) && isnull(relevant_head_flag) && isnull(relevant_body_markings && isnull(relevant_mutant_bodypart))) // BUBBER EDIT ADDITION
if(isnull(relevant_inherent_trait) && isnull(relevant_organ) && isnull(relevant_head_flag) && isnull(relevant_body_markings && isnull(relevant_mutant_bodypart))) // BUBBER EDIT ADDITION
return TRUE
return current_species_has_savekey(preferences)
@@ -33,7 +33,6 @@
// Before tgui preferences menu, "traitor" would handle both roundstart, midround, and latejoin.
// These were split apart.
/datum/preferences/proc/migrate_antagonists()
migrate_antagonist(ROLE_HERETIC, list(ROLE_HERETIC_SMUGGLER))
migrate_antagonist(ROLE_MALF, list(ROLE_MALF_MIDROUND))
migrate_antagonist(ROLE_OPERATIVE, list(ROLE_OPERATIVE_MIDROUND, ROLE_LONE_OPERATIVE))
migrate_antagonist(ROLE_REV_HEAD, list(ROLE_PROVOCATEUR))
@@ -4,13 +4,13 @@
savefile_identifier = PREFERENCE_CHARACTER
category = PREFERENCE_CATEGORY_SECONDARY_FEATURES
can_randomize = FALSE
relevant_external_organ = /obj/item/organ/tail/cat
relevant_organ = /obj/item/organ/tail/cat
/datum/preference/choiced/tail_felinid/init_possible_values()
return assoc_to_keys_features(SSaccessories.tails_list_felinid)
/datum/preference/choiced/tail_felinid/apply_to_human(mob/living/carbon/human/target, value)
target.dna.features[FEATURE_TAIL] = value
target.dna.features[FEATURE_TAIL_CAT] = value
/datum/preference/choiced/tail_felinid/create_default_value()
var/datum/sprite_accessory/tails/felinid/cat/tail = /datum/sprite_accessory/tails/felinid/cat
@@ -21,7 +21,7 @@
savefile_identifier = PREFERENCE_CHARACTER
category = PREFERENCE_CATEGORY_SECONDARY_FEATURES
can_randomize = FALSE
relevant_external_organ = /obj/item/organ/ears/cat
relevant_organ = /obj/item/organ/ears/cat
/datum/preference/choiced/felinid_ears/init_possible_values()
return assoc_to_keys_features(SSaccessories.ears_list)
@@ -64,7 +64,7 @@
category = PREFERENCE_CATEGORY_FEATURES
main_feature_name = "Frills"
should_generate_icons = TRUE
relevant_external_organ = /obj/item/organ/frills
relevant_organ = /obj/item/organ/frills
/datum/preference/choiced/lizard_frills/init_possible_values()
return assoc_to_keys_features(SSaccessories.frills_list)
@@ -81,7 +81,7 @@
category = PREFERENCE_CATEGORY_FEATURES
main_feature_name = "Horns"
should_generate_icons = TRUE
relevant_external_organ = /obj/item/organ/horns
relevant_organ = /obj/item/organ/horns
/datum/preference/choiced/lizard_horns/init_possible_values()
return assoc_to_keys_features(SSaccessories.horns_list)
@@ -137,7 +137,7 @@
category = PREFERENCE_CATEGORY_FEATURES
main_feature_name = "Snout"
should_generate_icons = TRUE
relevant_external_organ = /obj/item/organ/snout
relevant_organ = /obj/item/organ/snout
/datum/preference/choiced/lizard_snout/init_possible_values()
return assoc_to_keys_features(SSaccessories.snouts_list)
@@ -152,7 +152,7 @@
savefile_key = "feature_lizard_spines"
savefile_identifier = PREFERENCE_CHARACTER
category = PREFERENCE_CATEGORY_SECONDARY_FEATURES
relevant_external_organ = /obj/item/organ/spines
relevant_organ = /obj/item/organ/spines
/datum/preference/choiced/lizard_spines/init_possible_values()
return assoc_to_keys_features(SSaccessories.spines_list)
@@ -164,7 +164,7 @@
savefile_key = "feature_lizard_tail"
savefile_identifier = PREFERENCE_CHARACTER
category = PREFERENCE_CATEGORY_SECONDARY_FEATURES
relevant_external_organ = /obj/item/organ/tail/lizard
relevant_organ = /obj/item/organ/tail/lizard
/datum/preference/choiced/lizard_tail/init_possible_values()
return assoc_to_keys_features(SSaccessories.tails_list_lizard)
@@ -3,7 +3,7 @@
savefile_key = "feature_monkey_tail"
savefile_identifier = PREFERENCE_CHARACTER
category = PREFERENCE_CATEGORY_SECONDARY_FEATURES
relevant_external_organ = /obj/item/organ/tail/monkey
relevant_organ = /obj/item/organ/tail/monkey
can_randomize = FALSE
/datum/preference/choiced/monkey_tail/init_possible_values()
@@ -5,7 +5,7 @@
category = PREFERENCE_CATEGORY_FEATURES
main_feature_name = "Antennae"
should_generate_icons = TRUE
relevant_external_organ = /obj/item/organ/antennae
relevant_organ = /obj/item/organ/antennae
/datum/preference/choiced/moth_antennae/init_possible_values()
return assoc_to_keys_features(SSaccessories.moth_antennae_list)
@@ -86,7 +86,7 @@
category = PREFERENCE_CATEGORY_FEATURES
main_feature_name = "Moth wings"
should_generate_icons = TRUE
relevant_external_organ = /obj/item/organ/wings/moth
relevant_organ = /obj/item/organ/wings/moth
/datum/preference/choiced/moth_wings/init_possible_values()
return assoc_to_keys_features(SSaccessories.moth_wings_list)
@@ -3,7 +3,7 @@
savefile_key = "feature_mushperson_cap"
savefile_identifier = PREFERENCE_CHARACTER
category = PREFERENCE_CATEGORY_SECONDARY_FEATURES
relevant_external_organ = /obj/item/organ/mushroom_cap
relevant_organ = /obj/item/organ/mushroom_cap
/datum/preference/choiced/mushroom_cap/init_possible_values()
return assoc_to_keys_features(SSaccessories.caps_list)
@@ -6,7 +6,7 @@
category = PREFERENCE_CATEGORY_FEATURES
main_feature_name = "Hairstyle"
should_generate_icons = TRUE
relevant_external_organ = /obj/item/organ/pod_hair
relevant_organ = /obj/item/organ/pod_hair
/datum/preference/choiced/pod_hair/init_possible_values()
return assoc_to_keys_features(SSaccessories.pod_hair_list)