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