diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index dc0db73515e..ba5b927e253 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -179,10 +179,13 @@ ///When you want to slice out a chunk from a sprite var/alpha_mask - ///Boolean, determines whether accent colour is applied or not + /// Boolean, determines whether accent colour is applied or not var/has_accents = FALSE - ///used for accents which are coloured differently to the main body of the sprite + /// appearance_flags Bitflag, when has_accents is set to true, this will determine which flags will be applied to the accent image + var/accent_flags = RESET_COLOR + + /// used for accents which are coloured differently to the main body of the sprite var/accent_color = COLOR_GRAY /** @@ -271,7 +274,7 @@ if(build_from_parts) add_overlay(overlay_image(icon,"[icon_state]_[worn_overlay]", flags=RESET_COLOR)) //add the overlay w/o coloration of the original sprite if(has_accents) - add_overlay(overlay_image(icon,"[icon_state]_acc",accent_color, RESET_COLOR)) + add_overlay(overlay_image(icon, "[icon_state]_acc", accent_color, accent_flags)) /obj/item/device icon = 'icons/obj/device.dmi' diff --git a/code/game/objects/items/items_icon.dm b/code/game/objects/items/items_icon.dm index b7c7697abd8..b80a90fa1c3 100644 --- a/code/game/objects/items/items_icon.dm +++ b/code/game/objects/items/items_icon.dm @@ -48,7 +48,7 @@ var/list/mob_icon_icon_states = list() if(additional_parts) I.add_overlay(additional_parts) if(has_accents) - I.add_overlay(overlay_image(icon,"[UNDERSCORE_OR_NULL(src.icon_species_tag)][item_state][contained_sprite ? slot_str_to_contained_flag(slot) : ""]_acc",accent_color, RESET_COLOR)) + I.add_overlay(overlay_image(icon, "[UNDERSCORE_OR_NULL(src.icon_species_tag)][item_state][contained_sprite ? slot_str_to_contained_flag(slot) : ""]_acc", accent_color, accent_flags)) var/offset_x = worn_x_dimension var/offset_y = worn_y_dimension center_image(I, offset_x, offset_y) diff --git a/code/modules/clothing/glasses/colorable.dm b/code/modules/clothing/glasses/colorable.dm index 6b29a553149..db307984893 100644 --- a/code/modules/clothing/glasses/colorable.dm +++ b/code/modules/clothing/glasses/colorable.dm @@ -8,3 +8,4 @@ contained_sprite = TRUE update_icon_on_init = TRUE has_accents = TRUE + accent_flags = RESET_COLOR | RESET_ALPHA diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 11779c13ea1..0698fd2d21d 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -76,7 +76,7 @@ if(build_from_parts) accessory_mob_overlay.add_overlay(overlay_image(I, "[tmp_icon_state]_[worn_overlay]", flags=RESET_COLOR)) //add the overlay w/o coloration of the original sprite if(has_accents) - accessory_mob_overlay.add_overlay(overlay_image(I, "[tmp_icon_state]_acc", accent_color, flags=RESET_COLOR)) + accessory_mob_overlay.add_overlay(overlay_image(I, "[tmp_icon_state]_acc", accent_color, flags=accent_flags)) if(color) accessory_mob_overlay.color = color accessory_mob_overlay.appearance_flags = RESET_ALPHA|RESET_COLOR diff --git a/html/changelogs/geeves-broke_my_shit.yml b/html/changelogs/geeves-broke_my_shit.yml new file mode 100644 index 00000000000..9a32b5a0832 --- /dev/null +++ b/html/changelogs/geeves-broke_my_shit.yml @@ -0,0 +1,6 @@ +author: Geeves + +delete-after: True + +changes: + - bugfix: "Fixed colorable glasses frames being affected by the alpha value." \ No newline at end of file