From ff133de35bbdbc0c6a5ba09fd288aad2f943023d Mon Sep 17 00:00:00 2001 From: FabianK3 <21039694+FabianK3@users.noreply.github.com> Date: Sun, 1 Mar 2026 07:48:23 +0100 Subject: [PATCH] Fix marshalling wands handheld sprite (#21943) # Summary This PR fixes the handhelds sprites after the recent rework of the marshalling wands in #21921. ## Changes - Refactored icon_update logic in marshalling wands to fix handheld sprites, including overlay stacking. --- .../devices/lighting/marshalling_wand.dm | 20 ++++++++++--------- ...gfix-marshalling-wands-handheld-sprite.yml | 6 ++++++ 2 files changed, 17 insertions(+), 9 deletions(-) create mode 100644 html/changelogs/fabiank3-bugfix-marshalling-wands-handheld-sprite.yml diff --git a/code/game/objects/items/devices/lighting/marshalling_wand.dm b/code/game/objects/items/devices/lighting/marshalling_wand.dm index 8d653edaf11..314dc7b5d03 100644 --- a/code/game/objects/items/devices/lighting/marshalling_wand.dm +++ b/code/game/objects/items/devices/lighting/marshalling_wand.dm @@ -11,6 +11,10 @@ light_range = 2 action_button_name = "Toggle Marshalling Wands" +/obj/item/flashlight/marshallingwand/Initialize() + . = ..() + update_icon() // Initial build_from_parts assembly + /obj/item/flashlight/marshallingwand/mechanics_hints(mob/user, distance, is_adjacent) . += ..() . += "ALT-click the marshalling wand to turn it on and off. Everytime you turn it on it will be blue, signaling and idle intent." @@ -77,17 +81,15 @@ mirror_held_wands(src) /obj/item/flashlight/marshallingwand/update_icon() - overlays.Cut() + ClearOverlays() + var/image/bulb_overlay = overlay_image(icon, "[initial(icon_state)]_[worn_overlay]") + bulb_overlay.blend_mode = BLEND_OVERLAY + AddOverlays(bulb_overlay) if(on) - var/image/I = overlay_image(icon, "marshallingwand-overlay", light_color) - I.blend_mode = BLEND_OVERLAY - AddOverlays(I) - icon_state = "[initial(icon_state)]-on" - item_state = "[initial(icon_state)]-on" + var/image/light_overlay = overlay_image(icon, "marshallingwand-overlay", light_color) + light_overlay.blend_mode = BLEND_OVERLAY + AddOverlays(light_overlay) set_light_range_power_color(light_range, flashlight_power, light_color) - else - icon_state = initial(icon_state) - item_state = initial(item_state) set_light_on(on) update_held_icon() diff --git a/html/changelogs/fabiank3-bugfix-marshalling-wands-handheld-sprite.yml b/html/changelogs/fabiank3-bugfix-marshalling-wands-handheld-sprite.yml new file mode 100644 index 00000000000..25e4296029b --- /dev/null +++ b/html/changelogs/fabiank3-bugfix-marshalling-wands-handheld-sprite.yml @@ -0,0 +1,6 @@ +author: FabianK3 + +delete-after: True + +changes: + - bugfix: "Fixed handheld sprite for marshalling wands."