Allow Transparency for Wings, Tails, and Ears (#17283)

* Automatic changelog compile [ci skip]

* Initial work to allow wings to be transparent.

* Revert "Automatic changelog compile [ci skip]"

This reverts commit 8cb19dcdcf.

* * Add ears and tail support

Secondary ears/horns isn't supported atm because it's set up differently and I'd need more than 10% brain power to figure that out

* Add ears/tail alpha support to the appearance changer GUI

* Convert junky button popup to number slider.

Possibly a performance issue to be had here but I'm not really worried about it.

* Add : and " " before previews

* pretty pretty

* fsdfsd

* Secondary Ears. Fsdfsdfsd.

* Yes, Wing Alpha still applies.
Adds caps to species_shapeshift_vr alpha selections, add second ear alpha selection

---------

Co-authored-by: vorestation-ci[bot] <199609141+vorestation-ci[bot]@users.noreply.github.com>
This commit is contained in:
eghughguhhhhhh
2025-03-15 14:54:42 +01:00
committed by GitHub
co-authored by vorestation-ci[bot] <199609141+vorestation-ci[bot]@users.noreply.github.com>
parent 206074690b
commit 516a07d609
11 changed files with 209 additions and 7 deletions
@@ -263,6 +263,23 @@
owner.update_hair()
changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR)
return 1
if("ears_alpha")
var/new_alpha = clamp(params["ears_alpha"], 0, 255)
if(isnum(new_alpha) && can_still_topic(ui.user, state))
owner.a_ears = new_alpha
update_dna(owner)
owner.update_hair()
changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR)
return 1
if("secondary_ears_alpha")
var/new_alpha = clamp(params["secondary_ears_alpha"], 0, 255)
if(isnum(new_alpha) && can_still_topic(ui.user, state))
owner.a_ears2 = new_alpha
update_dna(owner)
owner.update_hair()
changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR)
return 1
if("ears_secondary_color")
if(can_change(owner, APPEARANCE_HAIR_COLOR))
var/channel = params["channel"]
@@ -321,6 +338,15 @@
owner.update_tail_showing()
changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR)
return 1
if("tail_alpha")
var/new_alpha = clamp(params["tail_alpha"], 0, 255)
if(isnum(new_alpha) && can_still_topic(ui.user, state))
owner.a_tail = new_alpha
update_dna(owner)
owner.update_tail_showing()
changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR)
return 1
if("wing")
if(can_change(owner, APPEARANCE_ALL_HAIR))
var/datum/sprite_accessory/wing/instance = locate(params["ref"])
@@ -366,6 +392,16 @@
owner.update_wing_showing()
changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR)
return 1
if("wing_alpha")
var/new_alpha = clamp(params["wing_alpha"], 0, 255)
if(isnum(new_alpha) && can_still_topic(ui.user, state))
owner.a_wing = new_alpha
update_dna(owner)
owner.update_wing_showing()
changed_hook(APPEARANCECHANGER_CHANGED_HAIRCOLOR)
return 1
if("marking")
if(can_change(owner, APPEARANCE_ALL_HAIR))
var/todo = params["todo"]
@@ -809,6 +845,10 @@
data["wing_color"] = rgb(owner.r_wing, owner.g_wing, owner.b_wing)
data["wing2_color"] = rgb(owner.r_wing2, owner.g_wing2, owner.b_wing2)
data["wing3_color"] = rgb(owner.r_wing3, owner.g_wing3, owner.b_wing3)
data["wing_alpha"] = owner.a_wing
data["tail_alpha"] = owner.a_tail
data["ears_alpha"] = owner.a_ears
data["secondary_ears_alpha"] = owner.a_ears2
data["change_facial_hair_color"] = can_change(owner, APPEARANCE_FACIAL_HAIR_COLOR)
if(data["change_facial_hair_color"])