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(argument0, argument1) //gml_Script_scr_audio_fade { var snd = argument0 var fade_len = argument1 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() //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 }
()
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(argument0, argument1, argument2) //gml_Script_scr_camera_move { if (!instance_exists(obj_camera)) { instance_create(__view_get((9 << 0), 0).x, __view_get((9 << 0), 0).y, obj_camera) __view_set((9 << 0), 0, 1120) } else { obj_camera.x = __view_get((9 << 0), 0).x obj_camera.y = __view_get((9 << 0), 0).y __view_set((9 << 0), 0, 1120) } obj_camera.move = true obj_camera.xx = argument0 obj_camera.yy = argument1 obj_camera.spd = argument2 if (abs(argument0 - obj_camera.x) <= argument2 && abs(argument1 - obj_camera.y) <= argument2) return true; else return false; }
(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() //gml_Script_scr_timer { if (timer > 0) { timer-- return false; } else return true; }
())
33
            return;
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() //gml_Script_scr_timer { if (timer > 0) { timer-- return false; } else return true; }
())
70
            return;
71
        actor_martlet.is_talking = true
72
        scr_text
scr_text

function scr_text() //gml_Script_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() //gml_Script_scr_timer { if (timer > 0) { timer-- return false; } else return true; }
())
87
            return;
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() //gml_Script_scr_timer { if (timer > 0) { timer-- return false; } else return true; }
())
95
            return;
96
        actor_martlet.is_talking = true
97
        scr_text
scr_text

function scr_text() //gml_Script_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() //gml_Script_scr_timer { if (timer > 0) { timer-- return false; } else return true; }
())
112
            return;
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() //gml_Script_scr_timer { if (timer > 0) { timer-- return false; } else return true; }
())
138
            return;
139
        actor_martlet.is_talking = true
140
        scr_text
scr_text

function scr_text() //gml_Script_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() //gml_Script_scr_timer { if (timer > 0) { timer-- return false; } else return true; }
())
161
            return;
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(argument0, argument1) //gml_Script_scr_audio_fade_out { var snd = argument0 var fade_len = argument1 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 }
(mus_birdsofafeather, 500)
187
            }
188
        }
189
        break
190
    case 13:
191
        if (!scr_timer
scr_timer

function scr_timer() //gml_Script_scr_timer { if (timer > 0) { timer-- return false; } else return true; }
())
192
            return;
193
        if scr_camera_move
scr_camera_move

function scr_camera_move(argument0, argument1, argument2) //gml_Script_scr_camera_move { if (!instance_exists(obj_camera)) { instance_create(__view_get((9 << 0), 0).x, __view_get((9 << 0), 0).y, obj_camera) __view_set((9 << 0), 0, 1120) } else { obj_camera.x = __view_get((9 << 0), 0).x obj_camera.y = __view_get((9 << 0), 0).y __view_set((9 << 0), 0, 1120) } obj_camera.move = true obj_camera.xx = argument0 obj_camera.yy = argument1 obj_camera.spd = argument2 if (abs(argument0 - obj_camera.x) <= argument2 && abs(argument1 - obj_camera.y) <= argument2) return true; else return false; }
(obj_pl.x, obj_pl.y, 3)
194
        {
195
            scr_radio_restart
scr_radio_restart

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

function scr_cutscene_end() //gml_Script_scr_cutscene_end { global.cutscene = false obj_pl.alarm[0] = 1 }
()
197
            __view_set((9 << 0), 0, 1031)
198
            global.snowdin_flag[16] = 1
199
            instance_destroy()
200
            instance_destroy(actor_martlet)
201
            instance_destroy(obj_camera)
202
            return;
203
        }
204
        obj_camera.axis_priority = "y"
205
        break
206
}