Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_mail_station_steamworks_Step_0

(view raw script w/o annotations or w/e)
1
if live_call()
2
    return global.live_result;
3
if (keyboard_multicheck_pressed(0) && 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; } }
() && scene == 0)
4
{
5
    if (global.party_member != -4)
6
    {
7
        scr_text
scr_text

function scr_text() //gml_Script_scr_text { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue) }
()
8
        with (msg)
9
        {
10
            sndfnt = 108
11
            message[0] = "* Watch it, Clover!"
12
            message[1] = "* We don't want to alert#  any outsiders."
13
            message[2] = "* Especially workers#  under Asgore like the#  UGPS."
14
            message[3] = "* Your mail will have to#  wait."
15
            prt[0] = 377
16
            prt[1] = 370
17
            prt[2] = 377
18
            prt[3] = 370
19
        }
20
    }
21
    else if (room == rm_steamworks_24 && global.route == 2 && global.sworks_flag[14] == 1 && global.sworks_flag[15] == 0)
22
    {
23
        obj_pl.direction = 0
24
        scr_text
scr_text

function scr_text() //gml_Script_scr_text { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue) }
()
25
        with (msg)
26
        {
27
            sndfnt = 108
28
            message[0] = "* Watch it, Clover!"
29
            message[1] = "* We don't want to alert any#  outsiders."
30
            message[2] = "* Especially workers under#  Asgore like the UGPS."
31
            message[3] = "* Your mail will have to wait."
32
        }
33
    }
34
    else
35
    {
36
        scr_cutscene_start
scr_cutscene_start

function scr_cutscene_start() //gml_Script_scr_cutscene_start { global.cutscene = true obj_pl.state = gml_Script_scr_frozen_state obj_pl.image_index = 0 obj_pl.image_speed = 0 }
()
37
        audio_play_sound(bell_sound, 1, 0)
38
        scene++
39
    }
40
}
41
if (is_active == false)
42
{
43
    if (distance_to_object(obj_pl) < 40)
44
    {
45
        is_active = true
46
        image_index = 0
47
        image_speed = 1
48
    }
49
    else if (image_index <= 0.5)
50
    {
51
        image_speed = 0
52
        image_index = 0
53
    }
54
}
55
else if (is_active == true)
56
{
57
    if (distance_to_object(obj_pl) > 50)
58
    {
59
        is_active = false
60
        image_index = 7
61
        image_speed = -1
62
    }
63
    else if (image_index >= (image_number - 1))
64
    {
65
        image_speed = 0
66
        image_index = image_number - 1
67
    }
68
}
69
switch scene
70
{
71
    case 1:
72
        if global.geno_complete[2]
73
        {
74
            scr_text
scr_text

function scr_text() //gml_Script_scr_text { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue) }
()
75
            with (msg)
76
                message[0] = "* But nobody came."
77
            if (!global.dialogue_open)
78
            {
79
                scene = 0
80
                scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() //gml_Script_scr_cutscene_end { global.cutscene = false obj_pl.alarm[0] = 1 }
()
81
            }
82
            return;
83
        }
84
        var x_distance = 64
85
        instance_create((obj_pl.x + x_distance), (camera_get_view_y(view_camera[0]) - 40), obj_mail_whale)
86
        scene = 0
87
        break
88
}