Modular graysuit, genitals icon regenerate

-Updated sprites for the modular graysuit.
-Modular clothes code now regenerate icons when they are adjusted
-Genitals reenerate all of the character's icons (to allow modular clothes overlay to update on singular genital size changes)
This commit is contained in:
Alphas00
2024-01-15 20:08:44 +01:00
parent 0c6a4cb879
commit d9b99350ff
3 changed files with 54 additions and 0 deletions
@@ -12,6 +12,10 @@
..()
U = null
/obj/item/clothing/under/rank/chef/modular/jumpsuit_adjust()
..()
worn_overlays()
/obj/item/clothing/under/rank/chef/modular/worn_overlays(isinhands = FALSE)
if(!isinhands)
. = list()
@@ -42,3 +46,52 @@
. += mutable_appearance('icons/effects/blood.dmi', "uniformblood", color = blood_DNA_to_color())
if(accessory_overlay)
. += accessory_overlay
/obj/item/clothing/under/color/grey/modular
name = "grey modular jumpsuit"
desc = "A tasteful grey jumpsuit that reminds you of the good old days. Now adjusts to the match the wearer's size!"
var/mob/living/carbon/U
/obj/item/clothing/under/color/grey/modular/equipped(mob/user, slot)
..()
U = user
/obj/item/clothing/under/color/grey/modular/dropped()
..()
U = null
/obj/item/clothing/under/color/grey/modular/jumpsuit_adjust()
..()
worn_overlays()
/obj/item/clothing/under/color/grey/modular/worn_overlays(isinhands = FALSE)
if(!isinhands)
. = list()
var/obj/item/organ/O
var/obj/item/organ/genital/G
for(O in U.internal_organs)
if(istype(O, /obj/item/organ/genital/belly))
G = O
if(!adjusted)
. += mutable_appearance('GainStation13/icons/mob/modclothes/graymodular.dmi', "belly_[G.size]", GENITALS_UNDER_LAYER)
else
. += mutable_appearance('GainStation13/icons/mob/modclothes/graymodular.dmi', "belly_[G.size]_d", GENITALS_UNDER_LAYER)
if(istype(O, /obj/item/organ/genital/anus))
G = O
if(suit_style == DIGITIGRADE_SUIT_STYLE)
. += mutable_appearance('GainStation13/icons/mob/modclothes/graymodular.dmi', "butt_[G.size]_l", GENITALS_FRONT_LAYER)
. += mutable_appearance('GainStation13/icons/mob/modclothes/graymodular.dmi', "butt_[G.size]_l_NORTH", GENITALS_FRONT_LAYER)
else
. += mutable_appearance('GainStation13/icons/mob/modclothes/graymodular.dmi', "butt_[G.size]", GENITALS_FRONT_LAYER)
. += mutable_appearance('GainStation13/icons/mob/modclothes/graymodular.dmi', "butt_[G.size]_NORTH", GENITALS_FRONT_LAYER)
if(istype(O, /obj/item/organ/genital/breasts))
G = O
. += mutable_appearance('GainStation13/icons/mob/modclothes/graymodular.dmi', "breasts_[G.size]", GENITALS_BEHIND_LAYER) //nearest
. += mutable_appearance('GainStation13/icons/mob/modclothes/graymodular.dmi', "breasts_[G.size]_NORTH", BODY_FRONT_LAYER) //farthest
if(damaged_clothes)
. += mutable_appearance('icons/effects/item_damage.dmi', "damageduniform")
if(blood_DNA)
. += mutable_appearance('icons/effects/blood.dmi', "uniformblood", color = blood_DNA_to_color())
if(accessory_overlay)
. += accessory_overlay
Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

@@ -46,6 +46,7 @@
update_size()
update_appearance()
update_link()
owner.regenerate_icons()
//exposure and through-clothing code
/mob/living/carbon