diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 25977047d42..41dd8db81bf 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -28,6 +28,7 @@ var/change_icons = 1 var/can_off_process = 0 var/light_intensity = 2 //how powerful the emitted light is when used. + var/progress_flash_divisor = 10 var/burned_fuel_for = 0 //when fuel was last removed heat = 3800 tool_behaviour = TOOL_WELDER @@ -234,6 +235,16 @@ if(. && user) user.flash_act(light_intensity) +// Flash the user during welding progress +/obj/item/weldingtool/tool_check_callback(mob/living/user, amount, datum/callback/extra_checks) + . = ..() + if(. && user) + if (progress_flash_divisor == 0) + user.flash_act(min(light_intensity,1)) + progress_flash_divisor = initial(progress_flash_divisor) + else + progress_flash_divisor-- + // If welding tool ran out of fuel during a construction task, construction fails. /obj/item/weldingtool/tool_use_check(mob/living/user, amount) if(!isOn() || !check_fuel()) @@ -358,4 +369,4 @@ nextrefueltick = world.time + 10 reagents.add_reagent("welding_fuel", 1) -#undef WELDER_FUEL_BURN_INTERVAL \ No newline at end of file +#undef WELDER_FUEL_BURN_INTERVAL