vec_lerp computes a factorized average between two vectors

Code:
vec_lerp ( resultant_color, terrain_color, blood_color, blood_alpha/100 );



you are right, you need to sample the terrain pixel color...