if (init == 0) { init = 1; predict_landy = y + ((30 * (movespeed + true_movespeed)) / 2); } if (global.interact == 0) { if (dir == 0) y += true_movespeed; if (dir == 1) x += true_movespeed; if (dir == 2) y -= true_movespeed; if (dir == 3) x -= true_movespeed; draw_offset_x += draw_speed_x; bounce_timer--; var enemy = instance_place(x, y, obj_solidenemy); if (y > (last_bounce_y + 40) && enemy != -4 && y >= enemy.y) { last_bounce_y = enemy.y; draw_speed_x = -draw_speed_x; true_movespeed = -6; bouncedir = -bouncedir; scr_lerpvar("x", x, x + (bounceshift * 40 * bouncedir), 16, 2, "inout"); } true_movespeed = scr_approach(true_movespeed, movespeed, 0.5); if (active && y > (last_bounce_y + 20)) { var climbkris = collision_rectangle(x - 10, y - 20, x + 10, y + 10, obj_climb_kris, 0, 0); if (instance_exists(climbkris)) { if (climbkris.damagecon == 0) { climbkris.damagecon = 1; lifetime = 1; active = 0; } } } lifetime--; if (lifetime == 0) { scr_lerpvar("image_alpha", image_alpha, 0, 15); with (mylight) scr_lerpvar("size", size, 0, 15); scr_doom(id, 15); active = false; } }