Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_room_controller_snowdin_22_Step_0

(view raw script w/o annotations or w/e)
1
if (!audio_is_playing(mus_ambient_river))
2
    audio_play_sound(mus_ambient_river, 20, 1);
3
var martlet = 1545;
4
var collider = 1041;
5
with (collider)
6
{
7
    if (trigger)
8
    {
9
        if (global.snowdin_flag[13] == 1)
10
        {
11
            other.scene = 0;
12
        }
13
        else
14
        {
15
            obj_flowey_snowdin_22.scene = 1;
16
            instance_destroy();
17
        }
18
        global.snowdin_flag[14] = 2;
19
        scr_cutscene_start
scr_cutscene_start

function scr_cutscene_start() { global.cutscene = true; obj_pl.state = scr_frozen_state; obj_pl.image_index = 0; obj_pl.image_speed = 0; }
();
20
        audio_sound_gain(obj_radio.current_song, 0, 500);
21
        instance_destroy();
22
    }
23
}
24
if (scene == -1)
25
    exit;
26
switch (scene)
27
{
28
    case 0:
29
        scr_camera_move
scr_camera_move

function scr_camera_move(arg0, arg1, arg2) { if (!instance_exists(obj_camera)) { instance_create(__view_get(e__VW.Object, 0).x, __view_get(e__VW.Object, 0).y, obj_camera); __view_set(e__VW.Object, 0, obj_camera); } else { obj_camera.x = __view_get(e__VW.Object, 0).x; obj_camera.y = __view_get(e__VW.Object, 0).y; __view_set(e__VW.Object, 0, obj_camera); } obj_camera.move = true; obj_camera.xx = arg0; obj_camera.yy = arg1; obj_camera.spd = arg2; if (abs(arg0 - obj_camera.x) <= arg2 && abs(arg1 - obj_camera.y) <= arg2) return true; else return false; } enum e__VW { XView, YView, WView, HView, Angle, HBorder, VBorder, HSpeed, VSpeed, Object, Visible, XPort, YPort, WPort, HPort, Camera, SurfaceID }
(380, 120, 2);
30
        timer = 45;
31
        scene++;
32
        break;
33
    case 1:
34
        if (timer > 0)
35
        {
36
            timer--;
37
        }
38
        else
39
        {
40
            timer = -1;
41
            scene = 2;
42
        }
43
        break;
44
    case 2:
45
        scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
46
        with (martlet)
47
            is_talking = true;
48
        with (msg)
49
        {
50
            sndfnt = 102;
51
            message[0] = "* Hey there, so here's#  the plan!";
52
            message[1] = "* I'm sorry, I think that#  I went a little#  overboard but...";
53
            message[2] = "* I can't help it! This#  is all too exciting!";
54
            message[3] = "* So, I've been saving#  this for a rainy day.";
55
            message[4] = "* Ya know, figuratively...#  We don't really have#  those...";
56
            message[5] = "* Either way! Behold! The#  UG Aviator!";
57
            prt[0] = 328;
58
            prt[1] = 320;
59
            prt[2] = 318;
60
            prt[3] = 328;
61
            prt[4] = 311;
62
            prt[5] = 312;
63
        }
64
        scene = 3;
65
        break;
66
    case 3:
67
        if (!instance_exists(obj_dialogue))
68
            scene = 4;
69
        break;
70
    case 4:
71
        if (cutscene_npc_walk(1545, 440, obj_martlet_snowdin_22.y, 3, "x", "down", false))
72
        {
73
            scene = 5;
74
            timer = 15;
75
        }
76
        break;
77
    case 5:
78
        if (timer > 0)
79
        {
80
            timer--;
81
        }
82
        else
83
        {
84
            timer = -1;
85
            scene++;
86
        }
87
        break;
88
    case 6:
89
        scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
90
        with (msg)
91
        {
92
            portrait = false;
93
            message[0] = "* (In the water sits an#  old-looking raft with just#  enough room for two passengers.)";
94
            message[1] = "* Isn't she a beauty?#* Boats are shes, ya know.";
95
            message[2] = "* I call her Ava for#  short! Isn't that cute?";
96
            prt[0] = 0;
97
            prt[1] = 318;
98
            prt[2] = 312;
99
            if (message_current > 0)
100
            {
101
                portrait = true;
102
                sndfnt = 102;
103
                with (martlet)
104
                    is_talking = true;
105
                other.scene++;
106
            }
107
        }
108
        break;
109
    case 7:
110
        if (!instance_exists(obj_dialogue))
111
            scene = 8;
112
        break;
113
    case 8:
114
        if (scr_camera_move
scr_camera_move

function scr_camera_move(arg0, arg1, arg2) { if (!instance_exists(obj_camera)) { instance_create(__view_get(e__VW.Object, 0).x, __view_get(e__VW.Object, 0).y, obj_camera); __view_set(e__VW.Object, 0, obj_camera); } else { obj_camera.x = __view_get(e__VW.Object, 0).x; obj_camera.y = __view_get(e__VW.Object, 0).y; __view_set(e__VW.Object, 0, obj_camera); } obj_camera.move = true; obj_camera.xx = arg0; obj_camera.yy = arg1; obj_camera.spd = arg2; if (abs(arg0 - obj_camera.x) <= arg2 && abs(arg1 - obj_camera.y) <= arg2) return true; else return false; } enum e__VW { XView, YView, WView, HView, Angle, HBorder, VBorder, HSpeed, VSpeed, Object, Visible, XPort, YPort, WPort, HPort, Camera, SurfaceID }
(obj_pl.x, obj_pl.y, 2))
115
        {
116
            __view_set(e__VW.Object, 0, obj_pl);
117
            timer = 5;
118
            scene++;
119
        }
120
        break;
121
    case 9:
122
        if (timer > 0)
123
        {
124
            timer--;
125
        }
126
        else
127
        {
128
            timer = -1;
129
            scr_radio_restart
scr_radio_restart

function scr_radio_restart() { with (obj_radio) event_user(0); }
();
130
            scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() { global.cutscene = false; obj_pl.alarm[0] = 1; }
();
131
            scene = 10;
132
        }
133
        break;
134
    case 11:
135
        with (obj_npc_clover_snowdin_22)
136
        {
137
            can_walk = true;
138
            x_dest[0] = x;
139
            y_dest[0] = 140;
140
            x_dest[1] = 330;
141
            y_dest[1] = 70;
142
        }
143
        obj_martlet_snowdin_22.alarm[0] = 45;
144
        scene++;
145
        break;
146
}
147
148
enum e__VW
149
{
150
    XView,
151
    YView,
152
    WView,
153
    HView,
154
    Angle,
155
    HBorder,
156
    VBorder,
157
    HSpeed,
158
    VSpeed,
159
    Object,
160
    Visible,
161
    XPort,
162
    YPort,
163
    WPort,
164
    HPort,
165
    Camera,
166
    SurfaceID
167
}