diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 29b738e321..7ac77e4bb7 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -280,6 +280,6 @@ GLOBAL_LIST_INIT(unlocked_mutant_parts, list("horns", "insect_fluff")) GLOBAL_LIST_INIT(colored_mutant_parts, list("insect_wings" = "wings_color", "deco_wings" = "wings_color", "horns" = "horns_color")) //species ids that have greyscale sprites -GLOBAL_LIST_INIT(greyscale_limb_types, list("human","lizard","pod","plant","jelly","slime","golem","lum","stargazer","mush","ethereal","snail","c_golem","b_golem","mammal","xeno","ipc","insect","synthliz","avian")) +GLOBAL_LIST_INIT(greyscale_limb_types, list("human","lizard","pod","plant","jelly","slime","golem","lum","stargazer","mush","ethereal","snail","c_golem","b_golem","mammal","xeno","ipc","insect","synthliz","avian","aquatic")) //species ids that need snowflake coloring applied diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index a1b986f0ac..b1a9bd46d9 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -524,8 +524,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) mutant_category = 0 if(length(pref_species.allowed_limb_ids)) + if(!chosen_limb_id || !(chosen_limb_id in pref_species.allowed_limb_ids)) + chosen_limb_id = pref_species.id dat += "

Body sprite

" - dat += "[pref_species.mutant_bodyparts["limbs_id"]]" + dat += "[chosen_limb_id]" if(mutant_category) dat += "" diff --git a/code/modules/mob/living/carbon/human/species_types/furrypeople.dm b/code/modules/mob/living/carbon/human/species_types/furrypeople.dm index 3c320dd3da..534536d6e7 100644 --- a/code/modules/mob/living/carbon/human/species_types/furrypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/furrypeople.dm @@ -17,4 +17,4 @@ wagging_type = "mam_waggingtail" species_type = "furry" - allowed_limb_ids = list("mammal","squid","apid") \ No newline at end of file + allowed_limb_ids = list("mammal","aquatic","avian") \ No newline at end of file diff --git a/code/modules/surgery/bodyparts/_bodyparts.dm b/code/modules/surgery/bodyparts/_bodyparts.dm index 6204fc1ee5..94264254d4 100644 --- a/code/modules/surgery/bodyparts/_bodyparts.dm +++ b/code/modules/surgery/bodyparts/_bodyparts.dm @@ -614,8 +614,6 @@ if(S.use_skintones) skin_tone = H.skin_tone - if(GLOB.greyscale_limb_types[species_id]) //dont try giving species greyscale sprites if they can't have them, please. - base_bp_icon = (base_bp_icon == DEFAULT_BODYPART_ICON) ? DEFAULT_BODYPART_ICON_ORGANIC : base_bp_icon else skin_tone = "" @@ -628,14 +626,9 @@ species_color = S.fixed_mut_color else species_color = H.dna.features["mcolor"] - if(GLOB.greyscale_limb_types[species_id]) //dont try giving species greyscale sprites if they can't have them, please. - base_bp_icon = (base_bp_icon == DEFAULT_BODYPART_ICON) ? DEFAULT_BODYPART_ICON_ORGANIC : base_bp_icon else species_color = "" - if(base_bp_icon != DEFAULT_BODYPART_ICON) - color_src = mut_colors ? MUTCOLORS : ((H.dna.skin_tone_override && S.use_skintones == USE_SKINTONES_GRAYSCALE_CUSTOM) ? CUSTOM_SKINTONE : SKINTONE) - if(S.mutant_bodyparts["legs"]) if(body_zone == BODY_ZONE_L_LEG || body_zone == BODY_ZONE_R_LEG) if(DIGITIGRADE in S.species_traits) @@ -659,9 +652,11 @@ body_markings = null aux_marking = null - if(GLOB.greyscale_limb_types[species_id]) //should they have greyscales? + if(species_id in GLOB.greyscale_limb_types) //should they have greyscales? base_bp_icon = DEFAULT_BODYPART_ICON_ORGANIC - message_admins("fuck") + + if(base_bp_icon != DEFAULT_BODYPART_ICON) + color_src = mut_colors ? MUTCOLORS : ((H.dna.skin_tone_override && S.use_skintones == USE_SKINTONES_GRAYSCALE_CUSTOM) ? CUSTOM_SKINTONE : SKINTONE) if(!dropping_limb && H.dna.check_mutation(HULK)) mutation_color = "00aa00" diff --git a/icons/mob/human_parts.dmi b/icons/mob/human_parts.dmi index fa4479620b..a6440938a4 100644 Binary files a/icons/mob/human_parts.dmi and b/icons/mob/human_parts.dmi differ