From: Flareguy <78941145+Flareguy@users.noreply.github.com> Date: Mon, 14 Jul 2025 02:49:25 +0000 (+0000) Subject: Vox customization additions (+eyeshadows) (#38906) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=d55a2b830a81edf135015fe6eafacc833ca5111a;p=space-station-14.git Vox customization additions (+eyeshadows) (#38906) vox customization stuff --- diff --git a/Resources/Locale/en-US/accessories/vox-hair.ftl b/Resources/Locale/en-US/accessories/vox-hair.ftl index 0e11e1a9b8..e6e32e9c80 100644 --- a/Resources/Locale/en-US/accessories/vox-hair.ftl +++ b/Resources/Locale/en-US/accessories/vox-hair.ftl @@ -21,4 +21,8 @@ marking-VoxHairSurf = Vox Surf marking-VoxHairTielQuills = Vox Tiel Quills marking-VoxHairYasu = Vox Yasuhiro marking-VoxHairWiseBraid = Vox Wise Braids -marking-VoxHairSpotty = Vox Spotty Hair \ No newline at end of file +marking-VoxHairSpotty = Vox Spotty Quills +marking-VoxHairMadScientist = Vox Mad Scientist +marking-VoxHairHedgehog = Vox Hedgehog +marking-VoxHairBushy = Vox Bushy Quills +marking-VoxHairSlick = Vox Slick Quills \ No newline at end of file diff --git a/Resources/Locale/en-US/markings/tattoos.ftl b/Resources/Locale/en-US/markings/tattoos.ftl index 51d3e3c45f..c47f8ae962 100644 --- a/Resources/Locale/en-US/markings/tattoos.ftl +++ b/Resources/Locale/en-US/markings/tattoos.ftl @@ -38,4 +38,25 @@ marking-TattooEyeVoxRight-tattoo_eye_vox_r = Right Eye marking-TattooEyeVoxRight = Right Eye marking-TattooEyeVoxLeft-tattoo_eye_vox_l = Left Eye -marking-TattooEyeVoxLeft = Left Eye \ No newline at end of file +marking-TattooEyeVoxLeft = Left Eye + +marking-TattooEyeshadowUpper-tattoo_eyeshadow_upper = Eyeshadow (Upper) +marking-TattooEyeshadowUpper = Eyeshadow (Upper) + +marking-TattooEyeshadowLower-tattoo_eyeshadow_lower = Eyeshadow (Lower) +marking-TattooEyeshadowLower = Eyeshadow (Lower) + +marking-TattooEyeshadowLowerReptilian-tattoo_eyeshadow_lower_reptilian = Eyeshadow (Lower) +marking-TattooEyeshadowLowerReptilian = Eyeshadow (Lower) + +marking-TattooEyeshadowVoxSmall-tattoo_eyeshadow_small = Eyeshadow (Small) +marking-TattooEyeshadowVoxSmall = Eyeshadow (Small) + +marking-TattooEyeshadowVoxMedium-tattoo_eyeshadow_medium = Eyeshadow (Medium) +marking-TattooEyeshadowVoxMedium = Eyeshadow (Medium) + +marking-TattooEyeshadowVoxLarge-tattoo_eyeshadow_Large = Eyeshadow (Large) +marking-TattooEyeshadowVoxLarge = Eyeshadow (Large) + +marking-TattooVoxTailRing-tattoo_vox_tail_ring = Tail Ring +marking-TattooVoxTailRing = Tail Ring diff --git a/Resources/Locale/en-US/markings/vox.ftl b/Resources/Locale/en-US/markings/vox.ftl index 37502bc7e0..1ae829ebbf 100644 --- a/Resources/Locale/en-US/markings/vox.ftl +++ b/Resources/Locale/en-US/markings/vox.ftl @@ -44,4 +44,13 @@ marking-VoxScarEyeRightSmall-vox_scar_eye_right_small = Right Eye Scar (Small) marking-VoxScarEyeRightSmall = Small Eye Scar (Right) marking-VoxScarEyeLeftSmall-vox_scar_eye_left_small = Left Eye Scar (Small) -marking-VoxScarEyeLeftSmall = Small Eye Scar (Left) \ No newline at end of file +marking-VoxScarEyeLeftSmall = Small Eye Scar (Left) + +marking-VoxTailShort-vox_tail_small = Vox Tail (Short) +marking-VoxTailShort = Vox Tail (Short) + +marking-VoxTail-vox_tail = Vox Tail (Medium) +marking-VoxTail = Vox Tail (Medium) + +marking-VoxTailBig-vox_tail_big = Vox Tail (Big) +marking-VoxTailBig = Vox Tail (Big) \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/tattoos.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/tattoos.yml index 8a47856fec..eaca0d719c 100644 --- a/Resources/Prototypes/Entities/Mobs/Customization/Markings/tattoos.yml +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/tattoos.yml @@ -165,3 +165,28 @@ sprites: - sprite: Mobs/Customization/tattoos.rsi state: tattoo_eye_moth_l + +- type: marking + id: TattooEyeshadowUpper + # there are a lot of deliberate limitations with this marking that should be pointed out. some of them may seem overly restrictive on the surface, but most of them are fully intentional. + # this marking is meant to be supplementary so they are transparent. if you give this 255 alpha it will probably be really distracting looking and make the face very difficult to read + # the reason these are also not recolorable is because allowing for the full RGB range makes these look not very good (especially considering they are stackable, and ESPECIALLY considering vox can stack 3 at once.) + # this is not a very big issue on humans, but is much more pronounced on vox & other nonhuman species, where the skin being more colorful can make for some truly dreadful meshing with the sprite thats definitely not desired. + # some of these limitations could possibly be removed with better control over how the marking can be customized - possibly removing stacking, allowing recoloring & clamping higher-end colors for the eyeshadow, etc. + bodyPart: Eyes + markingCategory: Overlay + speciesRestriction: [Human, SlimePerson, Reptilian, Dwarf] + forcedColoring: true + sprites: + - sprite: Mobs/Customization/tattoos.rsi + state: eyeshadow_upper + +- type: marking + id: TattooEyeshadowLower + bodyPart: Eyes + markingCategory: Overlay + speciesRestriction: [Human, SlimePerson, Reptilian, Dwarf] + forcedColoring: true + sprites: + - sprite: Mobs/Customization/tattoos.rsi + state: eyeshadow_lower \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_hair.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_hair.yml index 7fc3fedaa2..01d88513d8 100644 --- a/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_hair.yml +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_hair.yml @@ -18,6 +18,16 @@ - sprite: Mobs/Customization/vox_hair.rsi state: braid_s +- type: marking + id: VoxHairBushy + bodyPart: Hair + markingCategory: Hair + canBeDisplaced: false + speciesRestriction: [Vox] + sprites: + - sprite: Mobs/Customization/vox_hair.rsi + state: bushy_s + - type: marking id: VoxHairCrestedQuills bodyPart: Hair @@ -58,6 +68,16 @@ - sprite: Mobs/Customization/vox_hair.rsi state: hawk_s +- type: marking + id: VoxHairHedgehog + bodyPart: Hair + markingCategory: Hair + canBeDisplaced: false + speciesRestriction: [Vox] + sprites: + - sprite: Mobs/Customization/vox_hair.rsi + state: hedgehog_s + - type: marking id: VoxHairHorns bodyPart: Hair @@ -108,6 +128,16 @@ - sprite: Mobs/Customization/vox_hair.rsi state: long_braid_s +- type: marking + id: VoxHairMadScientist + bodyPart: Hair + markingCategory: Hair + canBeDisplaced: false + speciesRestriction: [Vox] + sprites: + - sprite: Mobs/Customization/vox_hair.rsi + state: mad_scientist_s + - type: marking id: VoxHairMange bodyPart: Hair @@ -188,6 +218,16 @@ - sprite: Mobs/Customization/vox_hair.rsi state: shortquills_s +- type: marking + id: VoxHairSlick + bodyPart: Hair + markingCategory: Hair + canBeDisplaced: false + speciesRestriction: [Vox] + sprites: + - sprite: Mobs/Customization/vox_hair.rsi + state: slick_s + - type: marking id: VoxHairSpotty bodyPart: Hair diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_parts.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_parts.yml index cd3588bf54..f3c0e5d204 100644 --- a/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_parts.yml +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_parts.yml @@ -141,5 +141,24 @@ forcedColoring: true sprites: - sprite: Mobs/Customization/vox_parts.rsi - # Ideally this should use the normal tail sprite and apply an actual mask over it, not just use a butchered sprite - state: tail_stenciled + state: tail + +- type: marking + id: VoxTailShort + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Vox] + forcedColoring: true + sprites: + - sprite: Mobs/Customization/vox_parts.rsi + state: tail_short + +- type: marking + id: VoxTailBig + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Vox] + forcedColoring: true + sprites: + - sprite: Mobs/Customization/vox_parts.rsi + state: tail_big \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_tattoos.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_tattoos.yml index 8b25271fca..567c3b2620 100644 --- a/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_tattoos.yml +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_tattoos.yml @@ -53,7 +53,21 @@ sprites: - sprite: Mobs/Customization/vox_tattoos.rsi state: nightling_s - + +- type: marking + id: TattooVoxTailRing + bodyPart: Tail + markingCategory: Overlay + speciesRestriction: [Vox] + coloring: + default: + type: + !type:TattooColoring + fallbackColor: "#666666" + sprites: + - sprite: Mobs/Customization/vox_tattoos.rsi + state: tail_ring + - type: marking id: TattooEyeVoxRight bodyPart: Eyes @@ -81,3 +95,38 @@ sprites: - sprite: Mobs/Customization/vox_tattoos.rsi state: tattoo_eye_vox_l + +- type: marking + id: TattooEyeshadowVoxSmall + # there are a lot of deliberate limitations with this marking that should be pointed out. some of them may seem overly restrictive on the surface, but most of them are fully intentional. + # this marking is meant to be supplementary so they are transparent. if you give this 255 alpha it will probably be really distracting looking and make the face very difficult to read + # the reason these are also not recolorable is because allowing for the full RGB range makes these look not very good (especially considering they are stackable, and ESPECIALLY considering vox can stack 3 at once.) + # this is not a very big issue on humans, but is much more pronounced on vox & other nonhuman species, where the skin being more colorful can make for some truly dreadful meshing with the sprite thats definitely not desired. + # some of these limitations could possibly be removed with better control over how the marking can be customized - possibly removing stacking, allowing recoloring & clamping higher-end colors for the eyeshadow, etc. + bodyPart: Eyes + markingCategory: Overlay + speciesRestriction: [Vox] + forcedColoring: true + sprites: + - sprite: Mobs/Customization/vox_tattoos.rsi + state: eyeshadow_small + +- type: marking + id: TattooEyeshadowVoxMedium + bodyPart: Eyes + markingCategory: Overlay + speciesRestriction: [Vox] + forcedColoring: true + sprites: + - sprite: Mobs/Customization/vox_tattoos.rsi + state: eyeshadow_medium + +- type: marking + id: TattooEyeshadowVoxLarge + bodyPart: Eyes + markingCategory: Overlay + speciesRestriction: [Vox] + forcedColoring: true + sprites: + - sprite: Mobs/Customization/vox_tattoos.rsi + state: eyeshadow_large \ No newline at end of file diff --git a/Resources/Textures/Mobs/Customization/tattoos.rsi/eyeshadow_lower.png b/Resources/Textures/Mobs/Customization/tattoos.rsi/eyeshadow_lower.png new file mode 100644 index 0000000000..7a10a15fda Binary files /dev/null and b/Resources/Textures/Mobs/Customization/tattoos.rsi/eyeshadow_lower.png differ diff --git a/Resources/Textures/Mobs/Customization/tattoos.rsi/eyeshadow_upper.png b/Resources/Textures/Mobs/Customization/tattoos.rsi/eyeshadow_upper.png new file mode 100644 index 0000000000..56615b3dc6 Binary files /dev/null and b/Resources/Textures/Mobs/Customization/tattoos.rsi/eyeshadow_upper.png differ diff --git a/Resources/Textures/Mobs/Customization/tattoos.rsi/meta.json b/Resources/Textures/Mobs/Customization/tattoos.rsi/meta.json index bd8400a374..fbaf3ae193 100644 --- a/Resources/Textures/Mobs/Customization/tattoos.rsi/meta.json +++ b/Resources/Textures/Mobs/Customization/tattoos.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "https://github.com/Skyrat-SS13/Skyrat-tg/tree/40e3cdbb15b8bc0d5ef2fb46133adf805bda5297/modular_skyrat/master_files/icons/mob/body_markings/tattoo_markings.dmi", + "copyright": "https://github.com/Skyrat-SS13/Skyrat-tg/tree/40e3cdbb15b8bc0d5ef2fb46133adf805bda5297/modular_skyrat/master_files/icons/mob/body_markings/tattoo_markings.dmi. eyeshadow_upper and eyeshadow_lower made by Flareguy for Space Station 14", "size": { "x": 32, "y": 32 @@ -54,6 +54,14 @@ { "name": "tattoo_eye_moth_l", "directions": 4 + }, + { + "name": "eyeshadow_upper", + "directions": 4 + }, + { + "name": "eyeshadow_lower", + "directions": 4 } ] } diff --git a/Resources/Textures/Mobs/Customization/vox_hair.rsi/bushy_s.png b/Resources/Textures/Mobs/Customization/vox_hair.rsi/bushy_s.png new file mode 100644 index 0000000000..71883f9e78 Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_hair.rsi/bushy_s.png differ diff --git a/Resources/Textures/Mobs/Customization/vox_hair.rsi/hedgehog_s.png b/Resources/Textures/Mobs/Customization/vox_hair.rsi/hedgehog_s.png new file mode 100644 index 0000000000..b0982ca5c0 Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_hair.rsi/hedgehog_s.png differ diff --git a/Resources/Textures/Mobs/Customization/vox_hair.rsi/mad_scientist_s.png b/Resources/Textures/Mobs/Customization/vox_hair.rsi/mad_scientist_s.png new file mode 100644 index 0000000000..b21fde3e16 Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_hair.rsi/mad_scientist_s.png differ diff --git a/Resources/Textures/Mobs/Customization/vox_hair.rsi/meta.json b/Resources/Textures/Mobs/Customization/vox_hair.rsi/meta.json index 99004ffaf8..446bbd5c95 100644 --- a/Resources/Textures/Mobs/Customization/vox_hair.rsi/meta.json +++ b/Resources/Textures/Mobs/Customization/vox_hair.rsi/meta.json @@ -1,12 +1,16 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from Paradise at https://github.com/ParadiseSS13/Paradise/blob/dcd1f5d88a8c5ba9634fc3fce67a76ada45f71dc/icons/mob/sprite_accessories/vox/vox_hair.dmi and greyscaled. wise_braid_s modified from braid_s by Flareguy, spotty by Flareguy", + "copyright": "Taken from Paradise at https://github.com/ParadiseSS13/Paradise/blob/dcd1f5d88a8c5ba9634fc3fce67a76ada45f71dc/icons/mob/sprite_accessories/vox/vox_hair.dmi and greyscaled. wise_braid_s modified from braid_s by Flareguy. mad_scientist_s modified from keelquills_s by Flareguy. spotty_s, bushy_s, hedgehog_s, and slick_s by Flareguy", "size": { "x": 32, "y": 32 }, "states": [ + { + "name": "bushy_s", + "directions": 4 + }, { "name": "crestedquills_s", "directions": 4 @@ -51,10 +55,18 @@ "name": "razor_clipped_s", "directions": 4 }, + { + "name": "mad_scientist_s", + "directions": 4 + }, { "name": "mohawk_s", "directions": 4 }, + { + "name": "hedgehog_s", + "directions": 4 + }, { "name": "horns_s", "directions": 4 @@ -102,6 +114,10 @@ { "name": "flowing_s", "directions": 4 + }, + { + "name": "slick_s", + "directions": 4 } ] } \ No newline at end of file diff --git a/Resources/Textures/Mobs/Customization/vox_hair.rsi/slick_s.png b/Resources/Textures/Mobs/Customization/vox_hair.rsi/slick_s.png new file mode 100644 index 0000000000..69e9671294 Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_hair.rsi/slick_s.png differ diff --git a/Resources/Textures/Mobs/Customization/vox_hair.rsi/wise_braid_s.png b/Resources/Textures/Mobs/Customization/vox_hair.rsi/wise_braid_s.png index d35ddc4842..d4a7a5bde5 100644 Binary files a/Resources/Textures/Mobs/Customization/vox_hair.rsi/wise_braid_s.png and b/Resources/Textures/Mobs/Customization/vox_hair.rsi/wise_braid_s.png differ diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/meta.json b/Resources/Textures/Mobs/Customization/vox_parts.rsi/meta.json index fd5c14b6a3..183e3c0338 100644 --- a/Resources/Textures/Mobs/Customization/vox_parts.rsi/meta.json +++ b/Resources/Textures/Mobs/Customization/vox_parts.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from https://github.com/vgstation-coders/vgstation13 at 02ff588d59b3c560c685d9ca75e882d32a72d8cb, modified by Bhijn, Errant and Flareguy", + "copyright": "Taken from https://github.com/vgstation-coders/vgstation13 at 02ff588d59b3c560c685d9ca75e882d32a72d8cb, modified by Bhijn, Errant and Flareguy. tail_big and tail_short modified from tail by Flareguy", "size": { "x": 32, "y": 32 @@ -48,7 +48,15 @@ "directions": 4 }, { - "name": "tail_stenciled", + "name": "tail_full", + "directions": 4 + }, + { + "name": "tail_short", + "directions": 4 + }, + { + "name": "tail_big", "directions": 4 } ] diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail.png b/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail.png index 0e63d3327b..7edd5f40f5 100644 Binary files a/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail.png and b/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail.png differ diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_big.png b/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_big.png new file mode 100644 index 0000000000..a9dfd0f6d6 Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_big.png differ diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_full.png b/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_full.png new file mode 100644 index 0000000000..9582d39d9d Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_full.png differ diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_short.png b/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_short.png new file mode 100644 index 0000000000..c714a65e89 Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_short.png differ diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_stenciled.png b/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_stenciled.png deleted file mode 100644 index 9072c9f4fc..0000000000 Binary files a/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_stenciled.png and /dev/null differ diff --git a/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/eyeshadow_large.png b/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/eyeshadow_large.png new file mode 100644 index 0000000000..ff8f5ef304 Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/eyeshadow_large.png differ diff --git a/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/eyeshadow_medium.png b/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/eyeshadow_medium.png new file mode 100644 index 0000000000..8884d1c5d9 Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/eyeshadow_medium.png differ diff --git a/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/eyeshadow_small.png b/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/eyeshadow_small.png new file mode 100644 index 0000000000..4027e9a893 Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/eyeshadow_small.png differ diff --git a/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/meta.json b/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/meta.json index d0c0edbbba..e1d263c9ac 100644 --- a/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/meta.json +++ b/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from Paradise at https://github.com/ParadiseSS13/Paradise/blob/ef7a4d962915cb36b138eeb59663f0053d4906fe/icons/mob/sprite_accessories/vox/vox_body_markings.dmi and modified by Flareguy", + "copyright": "Taken from Paradise at https://github.com/ParadiseSS13/Paradise/blob/ef7a4d962915cb36b138eeb59663f0053d4906fe/icons/mob/sprite_accessories/vox/vox_body_markings.dmi and modified by Flareguy. eyeshadow & tail_ring states by Flareguy", "size": { "x": 32, "y": 32 @@ -30,6 +30,22 @@ { "name": "tattoo_eye_vox_l", "directions": 4 + }, + { + "name": "eyeshadow_small", + "directions": 4 + }, + { + "name": "eyeshadow_medium", + "directions": 4 + }, + { + "name": "eyeshadow_large", + "directions": 4 + }, + { + "name": "tail_ring", + "directions": 4 } ] } \ No newline at end of file diff --git a/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/tail_ring.png b/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/tail_ring.png new file mode 100644 index 0000000000..3e3f2ab413 Binary files /dev/null and b/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/tail_ring.png differ diff --git a/Resources/Textures/Mobs/Species/Vox/parts.rsi/torso.png b/Resources/Textures/Mobs/Species/Vox/parts.rsi/torso.png index 3910fb39a6..01259ea03d 100644 Binary files a/Resources/Textures/Mobs/Species/Vox/parts.rsi/torso.png and b/Resources/Textures/Mobs/Species/Vox/parts.rsi/torso.png differ