| 1 | if (global.route != 3) | 
    
    
        | 2 | { | 
    
    
        | 3 |     if ((keyboard_multicheck_pressed(0) && scr_interactscr_interact() == true) && waiter == 0 && !instance_exists(obj_dialogue))function scr_interact ()
{
    if (distance_to_object(obj_pl) < 20 && obj_pl.state == scr_normal_state)
    {
        var pl_dir = obj_pl.direction;
        var pl_x = 0;
        var pl_y = 0;
        var check_distance_x = 0;
        var check_distance_y = 0;
        switch (pl_dir)
        {
            case 0:
                pl_x = obj_pl.bbox_right;
                pl_y = obj_pl.bbox_top + 1;
                check_distance_x = 20;
                break;
            case 180:
                pl_x = obj_pl.bbox_left;
                pl_y = obj_pl.bbox_top + 1;
                check_distance_x = -20;
                break;
            case 90:
                pl_x = obj_pl.x;
                pl_y = obj_pl.bbox_top;
                check_distance_y = -20;
                break;
            case 270:
                pl_x = obj_pl.x;
                pl_y = obj_pl.bbox_bottom;
                check_distance_y = 20;
                break;
        }
        if (collision_line_first(pl_x, pl_y, pl_x + check_distance_x, pl_y + check_distance_y, id, false, false))
            return true;
    }
} | 
    
    
        | 4 |         waiter = 1; | 
    
    
        | 5 |     if (waiter == 1) | 
    
    
        | 6 |     { | 
    
    
        | 7 |         scr_textscr_text();function scr_text ()
{
    if (!instance_exists(obj_dialogue))
        msg = instance_create(x, y, obj_dialogue);
} | 
    
    
        | 8 |         with (msg) | 
    
    
        | 9 |         { | 
    
    
        | 10 |             if (!instance_exists(obj_dialoguebox_dummy)) | 
    
    
        | 11 |                 instance_create(0, 0, obj_dialoguebox_dummy); | 
    
    
        | 12 |             portrait = false; | 
    
    
        | 13 |             sndfnt = 99; | 
    
    
        | 14 |             message[0] = "* (There is a book of neatly#  written paragraphs on#  the desk.)"; | 
    
    
        | 15 |             message[1] = "* (They all appear to be very#  similar.)"; | 
    
    
        | 16 |             message[2] = "* (Read one?)"; | 
    
    
        | 17 |             if (outcome == 1 && message_current == 2) | 
    
    
        | 18 |             { | 
    
    
        | 19 |                 obj_dalvsroom_desk.waiter = 2; | 
    
    
        | 20 |                 global.cutscene = true; | 
    
    
        | 21 |             } | 
    
    
        | 22 |             else if (outcome == 2 && message_current == 2) | 
    
    
        | 23 |             { | 
    
    
        | 24 |                 obj_dalvsroom_desk.waiter = 4; | 
    
    
        | 25 |             } | 
    
    
        | 26 |             if ((message_current + 1) == 2) | 
    
    
        | 27 |             { | 
    
    
        | 28 |                 ch_msg = 2; | 
    
    
        | 29 |                 ch[1] = "Yes"; | 
    
    
        | 30 |                 ch[2] = "No"; | 
    
    
        | 31 |             } | 
    
    
        | 32 |         } | 
    
    
        | 33 |     } | 
    
    
        | 34 |     if (waiter == 2 && !instance_exists(obj_dialogue)) | 
    
    
        | 35 |         waiter++; | 
    
    
        | 36 |     if (waiter == 3) | 
    
    
        | 37 |     { | 
    
    
        | 38 |         scr_textscr_text();function scr_text ()
{
    if (!instance_exists(obj_dialogue))
        msg = instance_create(x, y, obj_dialogue);
} | 
    
    
        | 39 |         with (msg) | 
    
    
        | 40 |         { | 
    
    
        | 41 |             portrait = false; | 
    
    
        | 42 |             sndfnt = 99; | 
    
    
        | 43 |             message[0] = "* Dalv is a loner living in#  the ruins of Home."; | 
    
    
        | 44 |             message[1] = "* He enjoys quiet walks in the#  dark, cleaning, and improving#  songs on his organ."; | 
    
    
        | 45 |             message[2] = "* He wants to share with the#  youth of the Underground..."; | 
    
    
        | 46 |             message[3] = "* ...the importance of being#  accepting and respecting#  the wishes of others. "; | 
    
    
        | 47 |             message[4] = "* The rest of the page is#  scribbled out."; | 
    
    
        | 48 |             with (obj_dalvsroom_desk) | 
    
    
        | 49 |                 waiter++; | 
    
    
        | 50 |         } | 
    
    
        | 51 |     } | 
    
    
        | 52 |     if (waiter == 4 && !instance_exists(obj_dialogue)) | 
    
    
        | 53 |     { | 
    
    
        | 54 |         with (obj_dialoguebox_dummy) | 
    
    
        | 55 |             instance_destroy(); | 
    
    
        | 56 |         waiter = 0; | 
    
    
        | 57 |         global.cutscene = false; | 
    
    
        | 58 |         obj_pl.alarm[0] = 1; | 
    
    
        | 59 |     } | 
    
    
        | 60 | } | 
    
    
        | 61 | else | 
    
    
        | 62 | { | 
    
    
        | 63 |     if ((keyboard_multicheck_pressed(0) && scr_interactscr_interact() == true) && (waiter == 0 && !instance_exists(obj_dialogue)))function scr_interact ()
{
    if (distance_to_object(obj_pl) < 20 && obj_pl.state == scr_normal_state)
    {
        var pl_dir = obj_pl.direction;
        var pl_x = 0;
        var pl_y = 0;
        var check_distance_x = 0;
        var check_distance_y = 0;
        switch (pl_dir)
        {
            case 0:
                pl_x = obj_pl.bbox_right;
                pl_y = obj_pl.bbox_top + 1;
                check_distance_x = 20;
                break;
            case 180:
                pl_x = obj_pl.bbox_left;
                pl_y = obj_pl.bbox_top + 1;
                check_distance_x = -20;
                break;
            case 90:
                pl_x = obj_pl.x;
                pl_y = obj_pl.bbox_top;
                check_distance_y = -20;
                break;
            case 270:
                pl_x = obj_pl.x;
                pl_y = obj_pl.bbox_bottom;
                check_distance_y = 20;
                break;
        }
        if (collision_line_first(pl_x, pl_y, pl_x + check_distance_x, pl_y + check_distance_y, id, false, false))
            return true;
    }
} | 
    
    
        | 64 |         waiter = 1; | 
    
    
        | 65 |     if (waiter == 1) | 
    
    
        | 66 |     { | 
    
    
        | 67 |         scr_textscr_text();function scr_text ()
{
    if (!instance_exists(obj_dialogue))
        msg = instance_create(x, y, obj_dialogue);
} | 
    
    
        | 68 |         with (msg) | 
    
    
        | 69 |         { | 
    
    
        | 70 |             portrait = false; | 
    
    
        | 71 |             sndfnt = 99; | 
    
    
        | 72 |             message[0] = "* (There is a book of neatly#  written paragraphs on the#  desk.)"; | 
    
    
        | 73 |             message[1] = "* (They all appear to be very#  similar.)"; | 
    
    
        | 74 |         } | 
    
    
        | 75 |         waiter++; | 
    
    
        | 76 |     } | 
    
    
        | 77 |     if (waiter == 2 && !instance_exists(obj_dialogue)) | 
    
    
        | 78 |         waiter++; | 
    
    
        | 79 |     if (waiter == 3) | 
    
    
        | 80 |     { | 
    
    
        | 81 |         waiter = 0; | 
    
    
        | 82 |         obj_pl.alarm[0] = 1; | 
    
    
        | 83 |     } | 
    
    
        | 84 | } |