Fixes the body designer [WIP] (#17062)

* designer

* finished off remaining body designer stuff, name etc

* merged _vr file, added note to use this

* harddel fix

* this one too

* unifies subtabs, adds search and improves layout

* fixes a longstanding issue with marking color appearance changer

It was feeding a /list (The object) to the color picker and the color picker just rolled with it and said 'sure'.

Now with actual sanity TGUI color picker freaks out and goes 'wtf'

This makes it actually feed a color input into the color picker.

* quick push

* adds hair grad to body designer

* push

* color works again

* hair gradient for body designer

* deconf

* Gets rid of duplicate datum

* no test tonight

* spotty fat

* Condenses hair_extras. Fixes a few missing.

Also adds a new cosmetics_tests unit test.

* fixes the rest of the sprites

* lets try this test

* why did that test compile

* another test ENHANCEMENT(fix)

* More aggressive unittest

* fixie

* invisible tail has snowflake handling

* fix for invis check

* oops

* validate existence of icon in unit test

* unittest checks marking and hair icons properly

* fixing bad unit testing again

* fixed marking icon check

* get rid of unused datum, markings show

* fixes things

* you too

---------

Co-authored-by: Willburd <7099514+Willburd@users.noreply.github.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
Cameron Lennox
2025-02-07 20:57:25 -05:00
committed by GitHub
parent bb6a263e2f
commit eeefd4ef3f
37 changed files with 1593 additions and 2235 deletions
@@ -769,7 +769,8 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
if (isnull(pref.body_markings[M]["color"]))
if (tgui_alert(user, "You currently have customized marking colors. This will reset each bodypart's color. Are you sure you want to continue?","Reset Bodypart Colors",list("Yes","No")) != "Yes")
return TOPIC_NOACTION
var/mark_color = tgui_color_picker(user, "Choose the [M] color: ", "Character Preference", pref.body_markings[M]["color"])
var/current = pref.body_markings[M] ? pref.body_markings[M]["color"] : "#000000"
var/mark_color = tgui_color_picker(user, "Choose the [M] color: ", "Character Preference", current)
if(mark_color && CanUseTopic(user))
pref.body_markings[M] = pref.mass_edit_marking_list(M,FALSE,TRUE,pref.body_markings[M],color="[mark_color]")
return TOPIC_REFRESH_UPDATE_PREVIEW
@@ -1,6 +1,4 @@
// Body weight limits on a character.
#define WEIGHT_MIN 70
#define WEIGHT_MAX 500
#define WEIGHT_CHANGE_MIN 0
#define WEIGHT_CHANGE_MAX 100
@@ -225,7 +223,5 @@
return ..();
#undef WEIGHT_MIN
#undef WEIGHT_MAX
#undef WEIGHT_CHANGE_MIN
#undef WEIGHT_CHANGE_MAX