if live_call() return global.live_result; var box = obj_dialogue_box_battle_transformation_any switch scene { case 0: if (obj_guardener_guy_a.active == false && obj_guardener_guy_a.is_on_target && obj_guardener_guy_b.is_on_target) { var robot_b = instance_create(-40, box.y, obj_guardener_guy_b_noarms) var hands_b = instance_create_depth(robot_b.x, robot_b.y, (robot_b.depth - 1), obj_guardener_guy_throwing_hands) hands_b.robot_parent = robot_b hands_b.bombs = true var robot_a = instance_create((room_width + 40), box.y, obj_guardener_guy_a_noarms) var hands_a = instance_create_depth(robot_a.x, robot_a.y, (robot_a.depth - 1), obj_guardener_guy_throwing_hands) hands_a.robot_parent = robot_a hands_a.image_xscale = -1 hands_a.throw_delay += (hands_a.image_number - 0.5) hands_a.bombs = true cutscene_advance() } obj_guardener_guy_a.active = false obj_guardener_guy_b.active = false break case 1: var adv = 2 with (obj_guardener_guy_a_noarms) { var x_target = box.bbox_right + 40 x = lerp(x, x_target, 0.2) y = lerp(y, box.y, 0.2) if (((abs(x + y)) - (abs(x_target + box.y))) < 1) adv -= 1 } with (obj_guardener_guy_b_noarms) { x_target = box.bbox_left - 40 x = lerp(x, x_target, 0.2) y = lerp(y, box.y, 0.2) if (((abs(x + y)) - (abs(x_target + box.y))) < 1) adv -= 1 } if (adv <= 0) cutscene_advance() break case 2: break case 3: adv = 2 with (obj_guardener_guy_a_noarms) { x_target = 720 x = lerp(x, x_target, 0.2) if (x > (x_target - 40)) adv -= 1 } with (obj_guardener_guy_b_noarms) { x_target = -40 x = lerp(x, x_target, 0.2) if (x < (x_target + 20)) adv -= 1 } if (adv <= 0) cutscene_advance() break case 4: obj_guardener_guy_a.active = true obj_guardener_guy_b.active = true instance_destroy() break } if instance_exists(obj_guardener_guy_b_shield) { var current_ball = instance_find(obj_battle_enemy_attack_guardener_bullet, 0) if instance_exists(obj_battle_enemy_attack_guardener_bullet) obj_guardener_guy_b_shield.y = lerp(obj_guardener_guy_b_shield.y, (current_ball.y + 20), 0.4) } with (obj_guardener_guy_a_flintlock) { if (image_index >= (image_number - 1)) { switch sprite_index { case spr_guardener_guy_b_flintlock_reload: sprite_index = spr_guardener_guy_b_flintlock image_index = 0 break case 3628: sprite_index = spr_guardener_guy_b_flintlock_reload image_index = 0 break } } } with (obj_battle_enemy_attack_guardener_bullet) { if (x < (obj_guardener_guy_b_shield.x + 40)) { var max_shards = 3 var shard_spread = 45 for (var i = 0; i < max_shards; i++) { var shard = instance_create_depth(x, y, (obj_heart_battle_fighting_parent.depth - 1), obj_battle_enemy_attack_guardener_bullet_shard) shard.speed = 4 shard.direction = -45 + i * shard_spread } audio_play_sound(snd_guardener_flintlock_shield, 1, 0) instance_destroy() } }