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() //gml_Script_scr_interact { if (distance_to_object(obj_pl) < 20 && obj_pl.state == gml_Script_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() //gml_Script_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(argument0) //gml_Script_scr_item_exists_check { var i = 1 while (i <= 8) { if (global.item_slot[i] == argument0) return true; else { if (i == 8) return false; i += 1 continue } } }
("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(argument0) //gml_Script_scr_item_remove { i = 1 while (i <= 8) { if (global.item_slot[i] == argument0) { while (i < 8) { global.item_slot[i] = global.item_slot[(i + 1)] i += 1 } global.item_slot[8] = "Nothing" return true; } else { if (i == 8) return false; i += 1 continue } } }
("Soggy Mitten")
53
                            scr_item
scr_item

function scr_item(argument0) //gml_Script_scr_item { nm = argument0 var i = 1 while (i <= 8) { if (global.item_slot[i] == "Nothing") { global.item_slot[i] = nm return true; } else { if (i == 8) return false; i++ continue } } }
("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
}
83
if (instance_exists(obj_dialogue) && is_talking == true)
84
{
85
    if (obj_dialogue.cutoff == string_length(obj_dialogue.message[obj_dialogue.message_current]))
86
    {
87
        image_speed = 0
88
        image_index = 0
89
    }
90
    else
91
        image_speed = 0.2
92
}
93
else
94
    is_talking = false
95
if ((!global.dialogue_open) && waiter == 1)
96
    waiter = 0