if (!surface_exists(surf)) {
surf = surface_create(sprite_width*2,sprite_height*2);
}
if (water_count < water_count_max) {
water_count += 0.05;
}
else {
water_count = 0;
}
var point_x,point_y;
point_x = x;
point_y = y;
var width = sprite_width;
var height = sprite_height;
water_id = id;
t+=0.25; // These are all just timers for the sine wave I'm using to make the sprite move around like it's in water
t2+=0.1;
t3+=0.05;
var _t = t;
var _t2 = t2;
var _t3 = t3;
surface_set_target(surf);
draw_sprite(sprite_index,0,sprite_width,sprite_height);
gpu_set_blendmode_ext(bm_dest_alpha,bm_inv_src_alpha);
draw_set_color(c_aqua);
draw_sprite(sprite9,floor(water_count),sprite_width,sprite_height);
with (obj_town_player) {
if (point_distance(x,y,point_x,point_y) < 100) {
var top_bulge = sin(_t); // These bulges and grows move the sprite like it's in water
var bot_bulge = sin(_t2);
var grow = sin(_t3);
var xx = (x-point_x+width)-(sprite_width/2);
var yy = (y-point_y+height)+(sprite_height/2);
draw_sprite_pos(sprite_index,0,xx-top_bulge,yy+sprite_height+grow,xx+sprite_width+top_bulge,yy+sprite_height+grow,xx+sprite_width+bot_bulge,yy,xx-bot_bulge,yy,0.5);
}
}
gpu_set_blendmode(bm_normal);
surface_reset_target();
draw_surface(surf,x-sprite_width,y-sprite_width);