From d1deb5b059dba128cfcd8573e0234b1450966635 Mon Sep 17 00:00:00 2001 From: Mora <46364955+TrixxedHeart@users.noreply.github.com> Date: Wed, 3 Sep 2025 13:05:48 -0500 Subject: [PATCH] Some more vox customization (#39083) * Added docked and spiked tails, added talisman for vox * Tail Talisman ftl * adjusts talisman to be its own tail to avoid having to deal with other tails at all * vox tail stuff * Added amputated tail (courtesy of flareguy) and split tail * adds TODO regarding marking conditionals * rsi run check pls stop screaming at me * Shelving the talisman for later, keeping the sprites around * Add RSI credits * Remove unnecessary files * renamed amputated to vestigial --- Resources/Locale/en-US/markings/vox.ftl | 11 +++++- .../Mobs/Customization/Markings/vox_parts.yml | 32 +++++++++++++++++- .../Customization/Markings/vox_tattoos.yml | 1 + .../Customization/vox_parts.rsi/meta.json | 14 +++++++- .../vox_parts.rsi/tail_docked.png | Bin 0 -> 319 bytes .../vox_parts.rsi/tail_spikes.png | Bin 0 -> 3072 bytes .../vox_parts.rsi/tail_split.png | Bin 0 -> 372 bytes .../Customization/vox_tattoos.rsi/meta.json | 6 +++- .../vox_tattoos.rsi/tail_talisman.png | Bin 0 -> 2887 bytes 9 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_docked.png create mode 100644 Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_spikes.png create mode 100644 Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_split.png create mode 100644 Resources/Textures/Mobs/Customization/vox_tattoos.rsi/tail_talisman.png diff --git a/Resources/Locale/en-US/markings/vox.ftl b/Resources/Locale/en-US/markings/vox.ftl index 1ae829ebbf..3cb14df2aa 100644 --- a/Resources/Locale/en-US/markings/vox.ftl +++ b/Resources/Locale/en-US/markings/vox.ftl @@ -53,4 +53,13 @@ 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 +marking-VoxTailBig = Vox Tail (Big) + +marking-VoxTailSpikes-vox_tail_spikes = Vox Tail (Spiked) +marking-VoxTailSpikes = Vox Tail (Spiked) + +marking-VoxTailDocked-vox_tail_docked = Vox Tail (Vestigial) +marking-VoxTailDocked = Vox Tail (Vestigial) + +marking-VoxTailSplit-vox_tail_split = Vox Tail (Split) +marking-VoxTailSplit = Vox Tail (Split) diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_parts.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_parts.yml index f3c0e5d204..0643c5cbd4 100644 --- a/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_parts.yml +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_parts.yml @@ -161,4 +161,34 @@ forcedColoring: true sprites: - sprite: Mobs/Customization/vox_parts.rsi - state: tail_big \ No newline at end of file + state: tail_big + +- type: marking + id: VoxTailSpikes + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Vox] + forcedColoring: true + sprites: + - sprite: Mobs/Customization/vox_parts.rsi + state: tail_spikes + +- type: marking + id: VoxTailDocked + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Vox] + forcedColoring: true + sprites: + - sprite: Mobs/Customization/vox_parts.rsi + state: tail_docked + +- type: marking + id: VoxTailSplit + bodyPart: Tail + markingCategory: Tail + speciesRestriction: [Vox] + forcedColoring: true + sprites: + - sprite: Mobs/Customization/vox_parts.rsi + state: tail_split \ 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 567c3b2620..cf350da60d 100644 --- a/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_tattoos.yml +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/vox_tattoos.yml @@ -56,6 +56,7 @@ - type: marking id: TattooVoxTailRing + # TODO // Looks off on some tails (i.e docked/amputated), if conditionals for markings ever get implemented this needs to be updated to account for those. bodyPart: Tail markingCategory: Overlay speciesRestriction: [Vox] diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/meta.json b/Resources/Textures/Mobs/Customization/vox_parts.rsi/meta.json index 183e3c0338..143710ad9f 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. tail_big and tail_short modified from tail by Flareguy", + "copyright": "Taken from https://github.com/vgstation-coders/vgstation13 at 02ff588d59b3c560c685d9ca75e882d32a72d8cb, modified by Bhijn, Errant and Flareguy. tail_big tail_short and tail_docked modified from tail by Flareguy, tail_spiked modified from tail by TrixxedHeart", "size": { "x": 32, "y": 32 @@ -58,6 +58,18 @@ { "name": "tail_big", "directions": 4 + }, + { + "name": "tail_spikes", + "directions": 4 + }, + { + "name": "tail_docked", + "directions": 4 + }, + { + "name": "tail_split", + "directions": 4 } ] } diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_docked.png b/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_docked.png new file mode 100644 index 0000000000000000000000000000000000000000..9850750ff54e675c35ea7bac8b624c7d19364c97 GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0(2Ka=yPMI?0?AfzVpFaKn|Npvm>wv;Q@H<-oq?^4Y$S)Wu4g?HR-pp=5 zA(?%Jb+hl)OToU=A?GjkR@_5q6 zdD9;7a3~ZgG#qGTV0vE7q*NVg7X5u^*P&H2^#fCP@}?Qgwy%GZ{l{ZPt?`+~2iLc2 zgmKLN?!J*bX5&-uMej8%{{EUD#H?B&&GFB{;FzdyP2A~}xh4KUw=#IT`njxgN@xNA DRt9(K literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_spikes.png b/Resources/Textures/Mobs/Customization/vox_parts.rsi/tail_spikes.png new file mode 100644 index 0000000000000000000000000000000000000000..c5af68390951756e8cebb000711b5dc355c676cb GIT binary patch literal 3072 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 C1drSR literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/meta.json b/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/meta.json index e1d263c9ac..92dbbff751 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. eyeshadow & tail_ring states 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, tail_talisman by TrixxedHeart", "size": { "x": 32, "y": 32 @@ -23,6 +23,10 @@ "name": "nightling_s", "directions": 4 }, + { + "name": "tail_talisman", + "directions": 4 + }, { "name": "tattoo_eye_vox_r", "directions": 4 diff --git a/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/tail_talisman.png b/Resources/Textures/Mobs/Customization/vox_tattoos.rsi/tail_talisman.png new file mode 100644 index 0000000000000000000000000000000000000000..80fade39b9a1c16a84e0c13847b1e8ed13d4e91e GIT binary patch literal 2887 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 literal 0 HcmV?d00001 -- 2.51.2