Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_dalvsroom_desk_Step_0

(view raw script w/o annotations or w/e)
1
if (global.route != 3)
2
{
3
    if ((keyboard_multicheck_pressed(0) && scr_interact
scr_interact

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; } }
() == true) && waiter == 0 && !instance_exists(obj_dialogue))
4
        waiter = 1;
5
    if (waiter == 1)
6
    {
7
        scr_text
scr_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_text
scr_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_interact
scr_interact

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; } }
() == true) && (waiter == 0 && !instance_exists(obj_dialogue)))
64
        waiter = 1;
65
    if (waiter == 1)
66
    {
67
        scr_text
scr_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
}