diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 7dcdf28ec2d..173668e3a20 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -1,4 +1,6 @@ GLOBAL_DATUM_INIT(fire_overlay, /image, image("icon" = 'icons/goonstation/effects/fire.dmi', "icon_state" = "fire")) +GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons/effects/welding_effect.dmi', "welding_sparks", GASFIRE_LAYER, ABOVE_LIGHTING_PLANE)) + /obj/item name = "item" icon = 'icons/obj/items.dmi' diff --git a/code/game/objects/items/tools/welder.dm b/code/game/objects/items/tools/welder.dm index bdd6eb2f0ad..76d72e0769b 100644 --- a/code/game/objects/items/tools/welder.dm +++ b/code/game/objects/items/tools/welder.dm @@ -129,12 +129,14 @@ remove_fuel(amount) return TRUE -/obj/item/weldingtool/use_tool(target, user, delay, amount, volume, datum/callback/extra_checks) +/obj/item/weldingtool/use_tool(atom/target, user, delay, amount, volume, datum/callback/extra_checks) + target.add_overlay(GLOB.welding_sparks) var/did_thing = ..() if(did_thing) remove_fuel(1) //Consume some fuel after we do a welding action if(delay) progress_flash_divisor = initial(progress_flash_divisor) + target.cut_overlay(GLOB.welding_sparks) return did_thing /obj/item/weldingtool/tool_check_callback(mob/living/user, amount, datum/callback/extra_checks) diff --git a/icons/effects/welding_effect.dmi b/icons/effects/welding_effect.dmi new file mode 100644 index 00000000000..8b8db2dcaea Binary files /dev/null and b/icons/effects/welding_effect.dmi differ