Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_glover_Step_0

(view raw script w/o annotations or w/e)
1
var geno_snowdin = false;
2
if (global.geno_complete[2] == 1)
3
    geno_snowdin = true;
4
if (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; } }
() && keyboard_multicheck_pressed(0))
5
{
6
    scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
7
    is_talking = true;
8
    waiter = 1;
9
}
10
if (waiter == 1)
11
{
12
    with (msg)
13
    {
14
        portrait = false;
15
        sndfnt = 99;
16
        if (global.route == 3 || geno_snowdin)
17
        {
18
            if (geno_snowdin == false)
19
            {
20
                message[0] = "* I'm missing a mitten.";
21
                message[1] = "* You would expect my right hand#  would feel more cozy than my#  left, but...";
22
                message[2] = "* I don't feel cozy at all.";
23
            }
24
            else
25
            {
26
                message[0] = "* (There's a single mitten on#  the ground.)";
27
                message[1] = "* (It seems as if it was recently#  discarded.)";
28
            }
29
        }
30
        else
31
        {
32
            switch (global.snowdin_flag[9])
33
            {
34
                case 0:
35
                    message[0] = "* I wish my left hand was as cozy#  as my right.";
36
                    message[1] = "* Normally I have two mittens so#  my warmth is symmetrical.";
37
                    message[2] = "* But I think my left mitten took#  a vacation or something.";
38
                    message[3] = "* It just left me.";
39
                    global.snowdin_flag[9] = 1;
40
                    break;
41
                case 1:
42
                    if (scr_item_exists_check
scr_item_exists_check

function scr_item_exists_check(arg0) { for (var i = 1; i <= 8; i += 1) { if (global.item_slot[i] == arg0) { return true; exit; break; } else if (i == 8) { return false; } } }
("Soggy Mitten"))
43
                    {
44
                        if (message_current == 0 || message_current == 7)
45
                            other.is_talking = false;
46
                        if (message_current == 1)
47
                            other.is_talking = true;
48
                        if (message_current == 7)
49
                        {
50
                            other.is_talking = false;
51
                            other.sprite_index = spr_donald_glover_glove_snowdin_yellow;
52
                            scr_item_remove
scr_item_remove

function scr_item_remove(arg0) { for (i = 1; i <= 8; i += 1) { if (global.item_slot[i] == arg0) { while (i < 8) { global.item_slot[i] = global.item_slot[i + 1]; i += 1; } global.item_slot[8] = "Nothing"; return true; break; } else if (i == 8) { return false; } } }
("Soggy Mitten");
53
                            scr_item
scr_item

function scr_item(arg0) { nm = arg0; for (var i = 1; i <= 8; i++) { if (global.item_slot[i] == "Nothing") { global.item_slot[i] = nm; return true; break; } else if (i == 8) { return false; } } }
("Snowdin Map");
54
                            global.snowdin_flag[9] = 2;
55
                        }
56
                        message[0] = "* (You take out the soggy mitten.)";
57
                        message[1] = "* That's my missing mitten!";
58
                        message[2] = "* Just in time too!";
59
                        message[3] = "* My left hand was getting so#  jealous! I just can't live with#  that much civil unrest!";
60
                        message[4] = "* I should really pay you back...";
61
                        message[5] = "* But I don't think I have#  anything worth as much as my#  mitten...";
62
                        message[6] = "* I know! Take this. It's a map#  of Snowdin!";
63
                        message[7] = "* (You got a Snowdin map. It's#  drawn in crayon.)";
64
                    }
65
                    else
66
                    {
67
                        message[0] = "* I wish my left hand was as cozy#  as my right.";
68
                        message[1] = "* Normally I have two mittens so#  my warmth is symmetrical.";
69
                        message[2] = "* But I think my left mitten took#  a vacation or something.";
70
                        message[3] = "* It just left me.";
71
                    }
72
                    break;
73
                case 2:
74
                    message[0] = "* My left mitten is more damp#  than I remembered...";
75
                    message[1] = "* It's okay.";
76
                    message[2] = "* I'll just leave my right mitten#  in the snow until it's just as#  soggy!";
77
                    break;
78
            }
79
        }
80
    }
81
}
82
if (instance_exists(obj_dialogue) && is_talking == true)
83
{
84
    if (obj_dialogue.cutoff == string_length(obj_dialogue.message[obj_dialogue.message_current]))
85
    {
86
        image_speed = 0;
87
        image_index = 0;
88
    }
89
    else
90
    {
91
        image_speed = 0.2;
92
    }
93
}
94
else
95
{
96
    is_talking = false;
97
}
98
if (!global.dialogue_open && waiter == 1)
99
    waiter = 0;