if (!init) { show_debug_message_concat(skip); show_debug_message_concat(fallspeed); show_debug_message_concat(stack); show_debug_message_concat(ydist); show_debug_message_concat(spacing); for (var i = 0; i < stack; i++) { var rock = { x: x, y: y + (i * spacing), xstart: x, ystart: y, skip: false, scale: 0 }; array_push(blocks, rock); } for (var i = 0; i < array_length(skip); i++) { if (skip[i] <= stack) blocks[skip[i]].skip = true; } init = 1; } siner++; for (var i = 0; i < array_length(blocks); i++) { var blok = blocks[i]; if (!blok.skip) { blok.x = (sin((siner + (i * 8)) / 4) * 4) + blok.xstart; blok.y += fallspeed; var distfade = 120; if (blok.y > ((blok.ystart + ydist) - distfade)) blok.scale -= 1 / (distfade / fallspeed); else blok.scale = lerp(blok.scale, 1, 0.3); if (blok.y > (blok.ystart + ydist)) { blok.y -= ydist; blok.scale = 0; } var buffer = 12; if (instance_exists(obj_climb_kris)) { if (instance_exists(collision_rectangle(blok.x + buffer, blok.y + buffer, (blok.x + 40) - buffer, (blok.y + 40) - buffer, obj_climb_kris, true, true))) obj_climb_kris.didhit = id; } } }