[MIRROR] Allow Transparency for Wings, Tails, and Ears (#10424)

Co-authored-by: eghughguhhhhhh <Hawoogabooga@gmail.com>
Co-authored-by: vorestation-ci[bot] <199609141+vorestation-ci[bot]@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-03-15 19:56:37 -07:00
committed by GitHub
parent 58e2f1d66b
commit b3fbd293d1
11 changed files with 209 additions and 7 deletions
@@ -130,6 +130,8 @@
var/r_ears3 = 30 //Trust me, we could always use more colour. No japes.
var/g_ears3 = 30
var/b_ears3 = 30
var/a_ears = 255 //applied to the ears
var/a_ears2 = 255 //applied to the horns
/// secondary ears sprite accessory reference
var/datum/sprite_accessory/ears/ear_secondary_style
@@ -146,6 +148,10 @@
var/r_tail3 = 30
var/g_tail3 = 30
var/b_tail3 = 30
var/a_tail = 255 //applied to the entire tail
var/wagging = 0 //UGH.
var/datum/sprite_accessory/wing/wing_style = null
var/r_wing = 30
var/g_wing = 30
@@ -157,7 +163,8 @@
var/g_wing3 = 30
var/b_wing3 = 30
var/wagging = 0 //UGH.
var/a_wing = 255 //applied to both portions.
var/flapping = 0
// Custom Species Name
@@ -178,6 +178,7 @@ var/static/icon/ingame_hud_med_vr = icon('icons/mob/hud_med_vr.dmi')
r_ears3 = character.r_ears3
b_ears3 = character.b_ears3
g_ears3 = character.g_ears3
a_ears = character.a_ears
tail_style = character.tail_style
r_tail = character.r_tail
@@ -189,6 +190,7 @@ var/static/icon/ingame_hud_med_vr = icon('icons/mob/hud_med_vr.dmi')
r_tail3 = character.r_tail3
b_tail3 = character.b_tail3
g_tail3 = character.g_tail3
a_tail = character.a_tail
wing_style = character.wing_style
r_wing = character.r_wing
@@ -200,6 +202,7 @@ var/static/icon/ingame_hud_med_vr = icon('icons/mob/hud_med_vr.dmi')
r_wing3 = character.r_wing3
b_wing3 = character.b_wing3
g_wing3 = character.g_wing3
a_wing = character.a_wing
var/bodytype = character.species?.get_bodytype()
@@ -54,6 +54,10 @@
g_ears3 = new_color_rgb_list[2]
b_ears3 = new_color_rgb_list[3]
var/new_ear_alpha = tgui_input_number(src, "Set ear alpha (0-255):","Ear Alpha", a_ears,255,0)
if(new_ear_alpha)
a_ears = new_ear_alpha
update_hair() //Includes Virgo ears
/mob/living/carbon/human/proc/shapeshifter_select_secondary_ears()
@@ -85,7 +89,9 @@
var/default = LAZYACCESS(ear_secondary_colors, channel) || "#ffffff"
var/new_color = tgui_color_picker(src, "Pick [channel_name]", "Ear Color ([channel_name])", default)
new_colors += new_color || default
var/new_ear_alpha = tgui_input_number(src, "Set ear alpha (0-255):","Ear Alpha", a_ears2,255,0)
if(new_ear_alpha)
a_ears2 = new_ear_alpha
update_hair()
/mob/living/carbon/human/proc/shapeshifter_select_tail()
@@ -140,6 +146,11 @@
g_tail3 = new_color_rgb_list[2]
b_tail3 = new_color_rgb_list[3]
var/new_tail_alpha = tgui_input_number(src, "Set tail alpha (0-255):","Tail Alpha", a_tail,255,0)
if(new_tail_alpha)
a_tail = new_tail_alpha
update_tail_showing()
/mob/living/carbon/human/proc/shapeshifter_select_wings()
@@ -194,6 +205,10 @@
g_wing3 = new_color_rgb_list[2]
b_wing3 = new_color_rgb_list[3]
var/new_alpha = tgui_input_number(src, "Set wing alpha (0-255):","Wing Alpha", a_wing,255,0)
if(new_alpha)
a_wing = new_alpha
update_wing_showing()
@@ -500,8 +500,8 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) //see UpdateDamageIcon()
if(head_organ.transparent) //VORESTATION EDIT: transparent instead of nonsolid
face_standing += rgb(,,,120)
if (ears_s)
ears_s += rgb(,,,180)
//if (ears_s) //maybe cap this instead of removing it? ae, if your ears are above 180 a reduce it down?
//ears_s += rgb(,,,180)
var/image/em_block_ears
if(ears_s)
@@ -1026,7 +1026,6 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) //see UpdateDamageIcon()
var/image/tail_image = get_tail_image()
if(tail_image)
tail_image.layer = BODY_LAYER+tail_layer
tail_image.alpha = chest?.transparent ? 180 : 255 //VORESTATION EDIT: transparent instead of nonsolid
overlays_standing[tail_layer] = tail_image
apply_layer(tail_layer)
return
@@ -1037,7 +1036,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) //see UpdateDamageIcon()
if(species_tail && !(wear_suit && wear_suit.flags_inv & HIDETAIL))
var/icon/tail_s = get_tail_icon()
tail_image = image(icon = tail_s, icon_state = "[species_tail]_s", layer = BODY_LAYER+tail_layer)
tail_image.alpha = chest?.transparent ? 180 : 255 //VORESTATION EDIT: transparent instead of nonsolid
tail_image.alpha = chest?.transparent ? 180 : 255 //VORESTATION EDIT: transparent instead of nonsolid //keeping this as is
overlays_standing[tail_layer] = tail_image
animate_tail_reset()
@@ -1146,7 +1145,6 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) //see UpdateDamageIcon()
if(wing_image)
wing_image.layer = BODY_LAYER+WING_LAYER
wing_image.alpha = chest?.transparent ? 180 : 255 //VORESTATION EDIT: transparent instead of nonsolid
overlays_standing[WING_LAYER] = wing_image
if(wing_style && wing_style.multi_dir)
wing_image = get_wing_image(TRUE)
@@ -1265,6 +1263,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) //see UpdateDamageIcon()
wing_s.Blend(overlay, ICON_OVERLAY)
qdel(overlay)
var/image/working = image(wing_s)
working.alpha = src.a_wing
if(wing_style.em_block)
working.overlays += em_block_image_generic(working) // Leaving this as overlays +=
working.pixel_x -= wing_style.wing_offset
@@ -1295,6 +1294,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) //see UpdateDamageIcon()
ears_s.Blend(overlay, ICON_OVERLAY)
qdel(overlay)
rendered = ears_s
rendered += rgb(,,,src.a_ears) //idk why this isn't an img but there's surely a good reason
// todo: this is utterly horrible but i don't think i should be violently refactoring sprite acc rendering in a feature PR ~silicons
if(ear_secondary_style && !(head && (head.flags_inv & BLOCKHEADHAIR)))
@@ -1317,6 +1317,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) //see UpdateDamageIcon()
overlay.Blend(color, ear_secondary_style.color_blend_mode)
ears_s.Blend(overlay, ICON_OVERLAY)
qdel(overlay)
ears_s += rgb(,,,src.a_ears2)
if(!rendered)
rendered = ears_s
else
@@ -1378,6 +1379,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) //see UpdateDamageIcon()
else if(islongtail(tail_style))
working.pixel_x = tail_style.offset_x
working.pixel_y = tail_style.offset_y
working.alpha = src.a_tail
return working
return null