if (live_call()) return global.live_result; var battle_box = 3154; if (destroy_self) { image_alpha -= 0.2; if (image_alpha <= 0) instance_destroy(); } else if (image_alpha < 1) { image_alpha += 0.2; } switch (scene) { case 0: image_speed = 1; audio_play_sound(snd_arc_shoot, 1, 0); var bullet = instance_create_depth(x + lengthdir_x(speed * 2, direction), y + lengthdir_y(speed * 2, direction), -100, obj_battle_enemy_attack_axis_turret_bullet); bullet.direction = image_angle; bullet.image_angle = bullet.direction; bullet.speed = 8; shot_number--; scene++; break; case 1: if (cutscene_wait(0.25)) scene = 0; break; } var base_speed = 5; var variation = choose(1, 2); switch (side) { case 1: if (!dir_noloop) { if (variation == 1) hspeed = base_speed; else vspeed = base_speed; dir_noloop = true; } if (x > target_x) destroy_self = true; break; case 2: if (!dir_noloop) { if (variation == 1) hspeed = -base_speed; else vspeed = base_speed; dir_noloop = true; } if (y > target_y) destroy_self = true; break; case 3: if (!dir_noloop) { if (variation == 1) hspeed = -base_speed; else vspeed = -base_speed; dir_noloop = true; } break; case 4: if (!dir_noloop) { if (variation == 1) hspeed = base_speed; else vspeed = -base_speed; dir_noloop = true; } if (y < target_y) destroy_self = true; break; } if ((hspeed > 0 && x > target_x) || (hspeed < 0 && x < target_x) || (vspeed > 0 && y > target_y) || (vspeed < 0 && y < target_y)) destroy_self = true; image_angle = point_direction(x, y, battle_box.x, battle_box.y);