Add new sprites and coloring methods for basic jumpsuits. (#31568)

* Add new sprites and coloring methods for basic jumpsuits.

* Move palettes to dye_registry.dm. Add palette keys to jumpskirts.

* Add colored inhands, inventory sprites, icon and palette updates.

* Add jumpskirt item sprite.

* Add prisoner jumpsuit, psychedelic jumpsuit, random jumpskirt.
- Add new sprites for prisoner jumpsuits, skirts, and their rolldowns.
- Generate psychedelic jumpsuit icon in code, using colors it was originally composed of overlayed on the white jumpsuit.
- Add psychedelic jumpskirt, rolldowns, and inhands, since they are now easy to generate.
- Add a subtype for random jumpskirts patterned after random jumpsuits.
- Tweak orange color palette.
- Ensure randomized jumpsuits and skirts get the proper names and descriptions.

* Add dummy psychedelic suit sprites to satisfy linters.

* Attempt dyeing. Cleanup icon states. Update references.
- Moves jumpsuit coloring out of human_update_icons.dm to color.dm and updates dyeing.dm to hopefully enable dyeing. In the current state it only colors object sprites properly.
- Deletes icon states that will no longer be used for each solid color jumpsuit.
- Updates references to old icon states in datacore.dm, character.dm, and chameleon.dm to the white icon with a swapped palette where possible.

* Thanks, linters.

* Thanks, linters. part 2

* Fix dyeing. Add misc prison jumpsuit sprites.

* Dye chameleon jumpsuit when it mimics colored jumpsuit.

* Eliminate chameleon lag by caching jumpsuit icons.

* Add missing keyword args. Thanks, linters.

* Replace resistance flags in black jumpsuit.

Signed-off-by: Alan <alfalfascout@users.noreply.github.com>

* Tweak jumpskirt shading on south humans and greys.

---------

Signed-off-by: Alan <alfalfascout@users.noreply.github.com>
This commit is contained in:
Alan
2026-03-22 18:24:02 -04:00
committed by GitHub
parent aaeb5fdf28
commit 392202d691
19 changed files with 309 additions and 71 deletions
+2 -1
View File
@@ -1062,7 +1062,8 @@
var/has_gloves = FALSE
if(job_support_low & JOB_ASSISTANT) //This gives the preview icon clothes depending on which job(if any) is set to 'high'
clothes_s = new /icon('icons/mob/clothing/under/color.dmi', "grey_s")
clothes_s = new /icon('icons/mob/clothing/under/color.dmi', "color_s")
clothes_s.swap_palette(PALETTE_JS_WHITE, PALETTE_JS_GREY)
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "black"), ICON_UNDERLAY)
if(backbag == 2)
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "backpack"), ICON_OVERLAY)