I believe it is possible. I did the same thing, except that I was using a sprite as a mirror to reflect the player. The idea is the same, you are just drawing red stuff on a tree. It is also much easier because you are not consistently updating it like a mirror.
The first thing you have to do is create a COPY of your sprite and you want to set the negative space to the color BLACK and erase the actual sprite. You do know what I mean by negative space, right?
Now you can create a surface the exact same size as your sprite you want to catch the blood.
After you draw blood to the surface, you need to set the blend mode to bm_subtract, draw the negative sprite over it, set it to bm_normal, surface reset target, and bob's your uncle.
The code looks like this:
Code:
//Create Event
Surface=surface_create(sprite_width,sprite_height)
//Draw Event
draw_surface(Surface,x-sprite_xoffset,y-sprite_yoffset)
//Insert your code for drawing blood splatters on a sprite
//Draw the transparent part of the surface.
draw_set_blend_mode(bm_subtract)
draw_sprite(NEGATIVE_SPRITE,0,,x-sprite_xoffset,y-sprite_yoffset)
draw_set_blend_mode(bm_normal)
surface_set_target()
Let me know if this works.