Yikes, though -- c_move with raindrops will be SLOOOOWWW...
Using c_trace might be faster, and you can use it with particles too. Trace from the current position to the next position, and if it hits something, destroy it:
Code:
var endpos[3]; // VECTOR endpos in Lite-C
vec_set(endpos, my.x);
vec_add(endpos, my.vel_x);
c_trace(my.x, endpos, IGNORE_PASSABLE || IGNORE_PASSENTS);
if(trace_hit) {my.lifespan = 0;}