| 1 | 
        if (live_call())  | 
    
    
    
        | 2 | 
            return global.live_result;  | 
    
    
    
        | 3 | 
        walk_speed = global.speed_self + (1 * sign(global.current_sp_self));  | 
    
    
    
        | 4 | 
        if (room == rm_battle_flowey_phase_2)  | 
    
    
    
        | 5 | 
            walk_speed += 2;  | 
    
    
    
        | 6 | 
        base_sprite = 1662;  | 
    
    
    
        | 7 | 
        image_speed = 0;  | 
    
    
    
        | 8 | 
        image_index = 0;  | 
    
    
    
        | 9 | 
        vulnerable = true;  | 
    
    
    
        | 10 | 
        moveable = false;  | 
    
    
    
        | 11 | 
        hsp_factor = 0;  | 
    
    
    
        | 12 | 
        vsp_factor = 0;  | 
    
    
    
        | 13 | 
        x_previous = x;  | 
    
    
    
        | 14 | 
        y_previous = y;  | 
    
    
    
        | 15 | 
        last_move_x = 0;  | 
    
    
    
        | 16 | 
        last_move_y = 0;  | 
    
    
    
        | 17 | 
        move_x_count = 0;  | 
    
    
    
        | 18 | 
        move_y_count = 0;  | 
    
    
    
        | 19 | 
        idle_x_count = 0;  | 
    
    
    
        | 20 | 
        idle_y_count = 0;  | 
    
    
    
        | 21 | 
        max_move_counter = 100;  | 
    
    
    
        | 22 | 
        last_hsp = 0;  | 
    
    
    
        | 23 | 
        last_vsp = 0;  | 
    
    
    
        | 24 | 
        move_hsp_count = 0;  | 
    
    
    
        | 25 | 
        move_vsp_count = 0;  | 
    
    
    
        | 26 | 
        idle_hsp_count = 0;  | 
    
    
    
        | 27 | 
        idle_vsp_count = 0;  | 
    
    
    
        | 28 | 
        max_speed_counter = 100;  | 
    
    
    
        | 29 | 
        var player_character = global.player_character;  | 
    
    
    
        | 30 | 
        instance_create(x, y, obj_heart_red_hitbox);  | 
    
    
    
        | 31 | 
        if (global.current_pp_self > 0)  | 
    
    
    
        | 32 | 
            instance_create(x, y, obj_heart_battle_effect_glow);  | 
    
    
    
        | 33 | 
        event_user(0);  | 
    
    
    
        | 34 | 
        x_list = ds_list_create();  | 
    
    
    
        | 35 | 
        y_list = ds_list_create();  | 
    
    
    
        | 36 | 
        max_points_trail = 5;  | 
    
    
    
        | 37 | 
        trail_cc_max = 3;  | 
    
    
    
        | 38 | 
        trail_cc_start = trail_cc_max - 1;  | 
    
    
    
        | 39 | 
        trail_cc_current = trail_cc_start;  | 
    
    
    
        | 40 | 
        trail_sprite = 1677;  | 
    
    
    
        | 41 | 
        shoot_delay = 5;  | 
    
    
    
        | 42 | 
        shoot_buffer = 0;  | 
    
    
    
        | 43 | 
        can_shoot = true;  | 
    
    
    
        | 44 | 
        can_charge = true;  | 
    
    
    
        | 45 | 
        turn_angle_target = 90;  | 
    
    
    
        | 46 | 
        turn_state = 0;  | 
    
    
    
        | 47 | 
        charge_percentage = 0;  | 
    
    
    
        | 48 | 
        charge_time = 30;  | 
    
    
    
        | 49 | 
        charge_time_max = 30;  | 
    
    
    
        | 50 | 
        is_charged = false;  | 
    
    
    
        | 51 | 
        is_charging = false;  | 
    
    
    
        | 52 | 
        charge_sound = 0;  | 
    
    
    
        | 53 | 
        charged_shot_type = 1;  | 
    
    
    
        | 54 | 
        blast_is_firing = false;  | 
    
    
    
        | 55 | 
        switch (global.battle_enemy_name)  | 
    
    
    
        | 56 | 
        { | 
    
    
    
        | 57 | 
            case "martlet genocide final":  | 
    
    
    
        | 58 | 
                charged_shot_type = 2;  | 
    
    
    
        | 59 | 
                break;  | 
    
    
    
        | 60 | 
            default:  | 
    
    
    
        | 61 | 
                charged_shot_type = 1;  | 
    
    
    
        | 62 | 
                break;  | 
    
    
    
        | 63 | 
        }  | 
    
    
    
        | 64 | 
        dash_buffered = false;  | 
    
    
    
        | 65 | 
        dash_overlay = 0;  | 
    
    
    
        | 66 | 
        dash_speed = walk_speed * 3;  | 
    
    
    
        | 67 | 
        is_dashing = false;  | 
    
    
    
        | 68 | 
        dash_distance = 4;  | 
    
    
    
        | 69 | 
        dash_timer = dash_distance;  | 
    
    
    
        | 70 | 
        move_x_dash = 0;  | 
    
    
    
        | 71 | 
        move_y_dash = 0;  | 
    
    
    
        | 72 | 
        dash_delay = 4;  | 
    
    
    
        | 73 | 
        dash_delay_max = 4;  | 
    
    
    
        | 74 | 
        dash_grace = 0;  | 
    
    
    
        | 75 | 
        dash_grace_max = 3;  | 
    
    
    
        | 76 | 
        can_dash = true;  | 
    
    
    
        | 77 | 
        can_cancel_dash = true;  | 
    
    
    
        | 78 | 
        draw_sprite_hurt = false;  | 
    
    
    
        | 79 | 
        if (room == rm_battle_flowey_phase_2)  | 
    
    
    
        | 80 | 
            sprite_index = spr_heart_yellow_down;  |