sA4RepairBot 0 -1 50 0 <undefined> <undefined> 1 603 7 0 0 -1 2 self 0 0 1 if (global.event[200] == 0) instance_destroy(); state = 0; statetime = 0; targetx = x; targety = y; facing = 1; idle_time = 60; solder_time = 600; 1 603 7 0 0 -1 2 self 0 0 1 if (state == 2) { instance_create(x + 18 * facing, y + 9, oA4RepairBotSpark); alarm[0] = 10; } 1 603 7 0 0 -1 2 self 0 0 1 if (state == 0) { speed = 0; gravity = 0; image_index = 0; image_speed = 0; if (statetime == idle_time) { state = 1; statetime = 0; } } if (state == 1) { gravity_direction = point_direction(x + 20 * facing, y + 8, targetx, targety); gravity = 0.1; speed = min(speed, 3); if (abs(hspeed > 0.1)) { if (hspeed > 0) { facing = 1; } else facing = -1; } if (distance_to_point(targetx, targety) < 16) { state = 2; statetime = 0; } } if (state == 2) { if (statetime == 0) { gravity = 0; speed = 0; } if (image_index < 6) image_index += 0.25; if (x + 20 * facing < targetx) x += 1; if (x + 20 * facing > targetx) x -= 1; if (y + 8 < targety) y += 1; if (y + 8 > targety) y -= 1; if (statetime == 30) alarm[0] = 1; if (statetime == solder_time) { state = 3; statetime = 0; } } if (state == 3) { if (statetime == 0) { gravity_direction = 90; gravity = 0.1; } if (image_index > 0) image_index -= 0.5; if (y < view_yview[0] - 32) instance_destroy(); } statetime += 1; 1 603 7 0 0 -1 2 self 0 0 1 draw_sprite_ext(sprite_index, -1, x, y, facing, 1, 0, -1, 1); 0 0 0 0.5 0.100000001490116 0 0.100000001490116 0.100000001490116 0.200000002980232 -1 -1