sounds more like a shader, i dont know how write shaders here in godot, but definitely you looks like the shader can be your solution.............
Now, other solution could be that you can add tiles with specified alpha to your tileset like:
line 1 - shadow tiles alpha = 1
line 2 - shadow tiles alpha = 0.8
line 3 - shadow tiles alpha = 0.6
line 4 - shadow tiles alpha = 0.4
line 5 - shadow tiles alpha = 0.2
line 6 - shadow tiles alpha = 0
then depending of the distance of your character you can replace the tiles with their respective alpha tile... but for performance i think that the shaders is better, i supose