Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_cutscene_snowdin_06_Step_0

(view raw script w/o annotations or w/e)
1
switch (scene)
2
{
3
    case 0:
4
        with (actor_martlet)
5
            npc_direction = "up";
6
        with (obj_event_collider)
7
        {
8
            if (place_meeting(x, y, obj_pl))
9
            {
10
                scr_audio_fade
scr_audio_fade

function scr_audio_fade(arg0, arg1) { var snd = arg0; var fade_len = arg1; with (obj_radio) { audio_other_fade = true; audio_to_fade = snd; audio_fade_length = fade_len; } }
(obj_radio.current_song, 500);
11
                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; }
();
12
                other.scene = 0.5;
13
                obj_pl.direction = 0;
14
            }
15
        }
16
        break;
17
    case 0.5:
18
        if (cutscene_wait(0.5))
19
            scene = 1;
20
        break;
21
    case 1:
22
        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 }
(230, 410, 2))
23
        {
24
            if (!audio_is_playing(mus_birdsofafeather))
25
                audio_play_sound(mus_birdsofafeather, 20, 1);
26
            timer = 30;
27
            scene++;
28
        }
29
        obj_camera.axis_priority = "x";
30
        break;
31
    case 2:
32
        if (!scr_timer
scr_timer

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
33
            exit;
34
        with (actor_martlet)
35
        {
36
            npc_direction = "down";
37
            can_walk = true;
38
            x_dest[0] = x;
39
            y_dest[0] = y + 60;
40
        }
41
        scene++;
42
        break;
43
    case 3:
44
        with (actor_martlet)
45
        {
46
            if (npc_arrived)
47
            {
48
                action_sprite = true;
49
                sprite_index = spr_martlet_book;
50
                image_speed = 0.3;
51
                other.scene++;
52
            }
53
        }
54
        break;
55
    case 4:
56
        with (actor_martlet)
57
        {
58
            if (on_animation_end())
59
            {
60
                image_speed = 0;
61
                action_sprite = false;
62
                down_sprite_idle = 875;
63
                other.timer = 5;
64
                other.scene++;
65
            }
66
        }
67
        break;
68
    case 5:
69
        if (!scr_timer
scr_timer

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
70
            exit;
71
        actor_martlet.is_talking = true;
72
        scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
73
        with (msg)
74
        {
75
            sndfnt = 102;
76
            message[0] = "* Recalibrate the lava#  rock puzzle... Check!";
77
            prt[0] = 312;
78
        }
79
        if (!global.dialogue_open)
80
        {
81
            scene++;
82
            timer = 20;
83
        }
84
        break;
85
    case 6:
86
        if (!scr_timer
scr_timer

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
87
            exit;
88
        instance_create(0, 0, obj_snowdin_06_screenshake);
89
        audio_play_sound(snd_groundbreak, 1, 0);
90
        timer = 80;
91
        scene++;
92
        break;
93
    case 7:
94
        if (!scr_timer
scr_timer

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
95
            exit;
96
        actor_martlet.is_talking = true;
97
        scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
98
        with (msg)
99
        {
100
            sndfnt = 102;
101
            message[0] = "* ...";
102
            prt[0] = 333;
103
        }
104
        if (!global.dialogue_open)
105
        {
106
            scene++;
107
            timer = 15;
108
        }
109
        break;
110
    case 8:
111
        if (!scr_timer
scr_timer

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
112
            exit;
113
        with (actor_martlet)
114
        {
115
            action_sprite = true;
116
            sprite_index = spr_martlet_book;
117
            image_index = image_number - 1;
118
            image_speed = -0.2;
119
            other.scene++;
120
        }
121
        break;
122
    case 9:
123
        with (actor_martlet)
124
        {
125
            if (image_index <= 1)
126
            {
127
                action_sprite = false;
128
                down_sprite_idle = 265;
129
                image_speed = 0;
130
                npc_direction = "up";
131
                other.timer = 15;
132
                other.scene++;
133
            }
134
        }
135
        break;
136
    case 10:
137
        if (!scr_timer
scr_timer

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
138
            exit;
139
        actor_martlet.is_talking = true;
140
        scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
141
        with (msg)
142
        {
143
            sndfnt = 102;
144
            message[0] = "* Well, it should hold#  together for a few uses#  at least.";
145
            message[1] = "* And that's good enough#  for me!";
146
            message[2] = "* Next stop, Honeydew#  Resort!";
147
            prt[0] = 323;
148
            prt[1] = 313;
149
            prt[2] = 312;
150
            if (message_current == 1)
151
                other.actor_martlet.npc_direction = "down";
152
        }
153
        if (!global.dialogue_open)
154
        {
155
            timer = 5;
156
            scene++;
157
        }
158
        break;
159
    case 11:
160
        if (!scr_timer
scr_timer

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
161
            exit;
162
        with (actor_martlet)
163
        {
164
            if (image_index <= 1)
165
            {
166
                action_sprite = true;
167
                sprite_index = spr_martlet_fly_away;
168
            }
169
            if (sprite_index == spr_martlet_fly_away)
170
            {
171
                image_speed = 0.3;
172
                image_index = 0;
173
                other.scene++;
174
            }
175
        }
176
        break;
177
    case 12:
178
        with (actor_martlet)
179
        {
180
            if (on_animation_end())
181
            {
182
                image_alpha = 0;
183
                image_speed = 0;
184
                other.scene++;
185
                other.timer = 15;
186
                scr_audio_fade_out
scr_audio_fade_out

function scr_audio_fade_out(arg0, arg1) { var snd = arg0; var fade_len = arg1; if (!audio_is_playing(snd)) return false; audio_sound_gain(snd, 0, fade_len); if (instance_exists(obj_audio_fade_helper)) { with (obj_audio_fade_helper) { if (audio_to_fade == snd) return false; } } with (instance_create(0, 0, obj_audio_fade_helper)) audio_to_fade = snd; }
(163, 500);
187
            }
188
        }
189
        break;
190
    case 13:
191
        if (!scr_timer
scr_timer

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
192
            exit;
193
        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, 3))
194
        {
195
            scr_radio_restart
scr_radio_restart

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

function scr_cutscene_end() { global.cutscene = false; obj_pl.alarm[0] = 1; }
();
197
            __view_set(e__VW.Object, 0, obj_pl);
198
            global.snowdin_flag[16] = 1;
199
            instance_destroy();
200
            instance_destroy(actor_martlet);
201
            instance_destroy(obj_camera);
202
            exit;
203
        }
204
        obj_camera.axis_priority = "y";
205
        break;
206
}
207
208
enum e__VW
209
{
210
    XView,
211
    YView,
212
    WView,
213
    HView,
214
    Angle,
215
    HBorder,
216
    VBorder,
217
    HSpeed,
218
    VSpeed,
219
    Object,
220
    Visible,
221
    XPort,
222
    YPort,
223
    WPort,
224
    HPort,
225
    Camera,
226
    SurfaceID
227
}