diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index d464419b73..c566e16ad9 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -550,48 +550,45 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) //Underwear, Undershirts & Socks if(!(NO_UNDERWEAR in species_traits)) - if(H.socks && H.get_num_legs(FALSE) >= 2) - if(H.hidden_socks) - H.socks = "Nude" - else + if(H.socks && !H.hidden_socks && H.get_num_legs(FALSE) >= 2) + if(H.saved_socks) H.socks = H.saved_socks - var/datum/sprite_accessory/underwear/socks/S = GLOB.socks_list[H.socks] - if(S) - var/digilegs = ((DIGITIGRADE in species_traits) && S.has_digitigrade) ? "_d" : "" - var/mutable_appearance/MA = mutable_appearance(S.icon, "[S.icon_state][digilegs]", -BODY_LAYER) - if(S.has_color) - MA.color = "#[H.socks_color]" - standing += MA + H.saved_socks = "" + var/datum/sprite_accessory/underwear/socks/S = GLOB.socks_list[H.socks] + if(S) + var/digilegs = ((DIGITIGRADE in species_traits) && S.has_digitigrade) ? "_d" : "" + var/mutable_appearance/MA = mutable_appearance(S.icon, "[S.icon_state][digilegs]", -BODY_LAYER) + if(S.has_color) + MA.color = "#[H.socks_color]" + standing += MA - if(H.underwear) - if(H.hidden_underwear) - H.underwear = "Nude" - else + if(H.underwear && !H.hidden_underwear) + if(H.saved_underwear) H.underwear = H.saved_underwear - var/datum/sprite_accessory/underwear/bottom/B = GLOB.underwear_list[H.underwear] - if(B) - var/digilegs = ((DIGITIGRADE in species_traits) && B.has_digitigrade) ? "_d" : "" - var/mutable_appearance/MA = mutable_appearance(B.icon, "[B.icon_state][digilegs]", -BODY_LAYER) - if(B.has_color) - MA.color = "#[H.undie_color]" - standing += MA + H.saved_underwear = "" + var/datum/sprite_accessory/underwear/bottom/B = GLOB.underwear_list[H.underwear] + if(B) + var/digilegs = ((DIGITIGRADE in species_traits) && B.has_digitigrade) ? "_d" : "" + var/mutable_appearance/MA = mutable_appearance(B.icon, "[B.icon_state][digilegs]", -BODY_LAYER) + if(B.has_color) + MA.color = "#[H.undie_color]" + standing += MA - if(H.undershirt) - if(H.hidden_undershirt) - H.undershirt = "Nude" - else + if(H.undershirt && !H.hidden_undershirt) + if(H.saved_undershirt) H.undershirt = H.saved_undershirt - var/datum/sprite_accessory/underwear/top/T = GLOB.undershirt_list[H.undershirt] - if(T) - var/state = "[T.icon_state][((DIGITIGRADE in species_traits) && T.has_digitigrade) ? "_d" : ""]" - var/mutable_appearance/MA - if(H.dna.species.sexes && H.dna.features["body_model"] == FEMALE) - MA = wear_female_version(state, T.icon, BODY_LAYER) - else - MA = mutable_appearance(T.icon, state, -BODY_LAYER) - if(T.has_color) - MA.color = "#[H.shirt_color]" - standing += MA + H.saved_undershirt = "" + var/datum/sprite_accessory/underwear/top/T = GLOB.undershirt_list[H.undershirt] + if(T) + var/state = "[T.icon_state][((DIGITIGRADE in species_traits) && T.has_digitigrade) ? "_d" : ""]" + var/mutable_appearance/MA + if(H.dna.species.sexes && H.dna.features["body_model"] == FEMALE) + MA = wear_female_version(state, T.icon, BODY_LAYER) + else + MA = mutable_appearance(T.icon, state, -BODY_LAYER) + if(T.has_color) + MA.color = "#[H.shirt_color]" + standing += MA if(standing.len) H.overlays_standing[BODY_LAYER] = standing diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm index 74a05488fa..f65267aa39 100644 --- a/modular_citadel/code/modules/arousal/genitals.dm +++ b/modular_citadel/code/modules/arousal/genitals.dm @@ -59,7 +59,7 @@ if(!(NO_UNDERWEAR in H.dna.species.species_traits)) var/datum/sprite_accessory/underwear/top/T = GLOB.undershirt_list[H.undershirt] var/datum/sprite_accessory/underwear/bottom/B = GLOB.underwear_list[H.underwear] - if(zone == BODY_ZONE_CHEST ? (H.hidden_undershirt || T?.covers_chest || B?.covers_chest) : (H.hidden_underwear || T?.covers_groin || B?.covers_groin)) + if(zone == BODY_ZONE_CHEST ? (!H.hidden_undershirt && (T?.covers_chest || B?.covers_chest)) : (!H.hidden_underwear && (T?.covers_groin || B?.covers_groin))) return FALSE if(genital_flags & GENITAL_THROUGH_CLOTHES) return TRUE