Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_saloon_cutscene_03_Step_0

(view raw script w/o annotations or w/e)
1
if instance_exists(obj_starlo_npc)
2
    var starlo_npc = obj_starlo_npc
3
else
4
    starlo_npc = obj_quote_battle_ceroba_outro_4
5
if instance_exists(obj_ceroba_npc)
6
    var ceroba_npc = obj_ceroba_npc
7
else
8
    ceroba_npc = obj_quote_battle_ceroba_outro_4
9
if instance_exists(obj_player_npc)
10
    var player_npc = obj_player_npc
11
else
12
    player_npc = obj_quote_battle_ceroba_outro_4
13
switch scene
14
{
15
    case -1:
16
        scr_radio_restart
scr_radio_restart

function scr_radio_restart() //gml_Script_scr_radio_restart { with (obj_radio) event_user(0) }
()
17
        scene++
18
        break
19
    case 0:
20
        if (!scr_timer
scr_timer

function scr_timer() //gml_Script_scr_timer { if (timer > 0) { timer-- return false; } else return true; }
())
21
            return;
22
        scr_text
scr_text

function scr_text() //gml_Script_scr_text { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue) }
()
23
        with (msg)
24
        {
25
            if (message_current < (array_length_1d(talker) - 1))
26
            {
27
                if (talker[message_current] == starlo_npc)
28
                    sndfnt_array[message_current] = 107
29
                if (talker[message_current] == ceroba_npc)
30
                    sndfnt_array[message_current] = 108
31
            }
32
            talker[0] = starlo_npc
33
            message[0] = "* Ceroba!"
34
            message[1] = "* Guess what just#  happened?"
35
            prt[0] = 417
36
            prt[1] = 424
37
            if (message_current == 1)
38
                ceroba_npc.npc_direction = "left"
39
            talker[2] = ceroba_npc
40
            message[2] = "* You locked up another#  Royal Guard against#  their will?"
41
            prt[2] = 377
42
            talker[3] = starlo_npc
43
            message[3] = "* Hey!"
44
            message[4] = "* Feathers was a serious#  roadblock to all of#  this."
45
            message[5] = "* It's only a temporary#  solution."
46
            message[6] = "* I don't feel right#  doin' it, I swear."
47
            prt[3] = 421
48
            prt[4] = 419
49
            prt[5] = 407
50
            prt[6] = 421
51
            talker[7] = ceroba_npc
52
            message[7] = "* I'm just giving you a#  hard time."
53
            message[8] = "* What did you want to#  tell me?"
54
            prt[7] = 395
55
            prt[8] = 372
56
            if (message_current == 7)
57
                ceroba_npc.npc_direction = "down"
58
            talker[9] = starlo_npc
59
            message[9] = "* Oh, well, Clover just#  passed their first#  round o' trainin'."
60
            message[10] = "* They are quite the#  sharpshooter. Almost as#  good as me!"
61
            prt[9] = 417
62
            prt[10] = 424
63
            talker[11] = ceroba_npc
64
            message[11] = "* Really? A child?"
65
            prt[11] = 393
66
            if (message_current == 11)
67
                ceroba_npc.npc_direction = "left"
68
            talker[12] = starlo_npc
69
            message[12] = "* Now, now, don't#  disrespect the kid."
70
            message[13] = "* Clover can hold their#  own and then some."
71
            prt[12] = 419
72
            prt[13] = 417
73
            talker[14] = ceroba_npc
74
            message[14] = "* I know, I'm just... very#  impressed."
75
            prt[14] = 388
76
            talker[15] = starlo_npc
77
            message[15] = "* Oh, hey, I almost#  forgot about the hat!"
78
            message[16] = "* I have a spare#  somewhere in my house."
79
            message[17] = "* Clover, wait here while#  I fetch it."
80
            message[18] = "* Maybe while they wait,#  you should get to know#  them, Ceroba."
81
            message[19] = "* Should be fun, right?"
82
            prt[15] = 404
83
            prt[16] = 417
84
            prt[17] = 417
85
            prt[18] = 417
86
            prt[19] = 422
87
            talker[20] = ceroba_npc
88
            message[20] = "* Sure."
89
            prt[20] = 372
90
            if (message_current == 11)
91
                ceroba_npc.npc_direction = "down"
92
            talker[21] = starlo_npc
93
            sndfnt_array[21] = 107
94
            message[21] = "* Sounds good!"
95
            message[22] = "* Be right back, partner!"
96
            prt[21] = 417
97
            prt[22] = 415
98
        }
99
        if (!global.dialogue_open)
100
        {
101
            audio_sound_gain(obj_radio.current_song, 0, 500)
102
            scene++
103
        }
104
        break
105
    case 1:
106
        with (starlo_npc)
107
        {
108
            actor_speed = 3
109
            axis_override = "x"
110
            can_walk = true
111
            x_dest[0] = x
112
            y_dest[0] = ystart - 30
113
            x_dest[1] = 100
114
            y_dest[1] = y_dest[0] + 200
115
            if npc_arrived
116
            {
117
                image_alpha = 0
118
                other.scene++
119
            }
120
        }
121
        break
122
    case 2:
123
        with (player_npc)
124
        {
125
            if (!can_walk)
126
            {
127
                axis_override = "y"
128
                can_walk = true
129
                x_dest[0] = 180
130
                y_dest[0] = 190
131
                end_direction = "down"
132
                actor_speed = 2
133
            }
134
            if npc_arrived
135
            {
136
                other.scene++
137
                other.timer = 45
138
            }
139
        }
140
        break
141
    case 3:
142
        if (!scr_timer
scr_timer

function scr_timer() //gml_Script_scr_timer { if (timer > 0) { timer-- return false; } else return true; }
())
143
            return;
144
        scr_text
scr_text

function scr_text() //gml_Script_scr_text { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue) }
()
145
        with (msg)
146
        {
147
            sndfnt = 108
148
            talker[0] = ceroba_npc
149
            message[0] = "* ..."
150
            message[1] = "* Tell me, truly."
151
            message[2] = "* Are you into all of#  this?"
152
            prt[0] = 370
153
            prt[1] = 394
154
            prt[2] = 377
155
            ch_msg = 2
156
            ch[1] = "Yeah"
157
            ch[2] = "Nah"
158
            if (outcome == 1)
159
            {
160
                message[3] = "* That's nice..."
161
                message[4] = "* I've never understood#  it."
162
                message[5] = "* But if it makes monsters#  like Star happy, it's#  fine."
163
                prt[3] = 372
164
                prt[4] = 377
165
                prt[5] = 395
166
            }
167
            if (outcome == 2)
168
            {
169
                message[3] = "* Sorry that Star's#  dragging you around so#  much, then."
170
                prt[3] = 377
171
            }
172
            if (outcome != 0)
173
                other.music = audio_play_sound(mus_blossom, 10, 1)
174
        }
175
        if (!global.dialogue_open)
176
            scene++
177
        break
178
    case 4:
179
        scr_text
scr_text

function scr_text() //gml_Script_scr_text { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue) }
()
180
        with (msg)
181
        {
182
            sndfnt = 108
183
            talker[0] = ceroba_npc
184
            message[0] = "* This whole thing is#  like a dream to him."
185
            message[1] = "* It's kinda goofy but#  it is nice to see#  someone so passionate."
186
            message[2] = "* However, passion can go#  too far."
187
            message[3] = "* You wouldn't believe#  how much his parents#  talk to me about it."
188
            message[4] = "* Really kind folks who#  own a farm up north."
189
            message[5] = "* It's actually very lush#  there, if you can#  believe it."
190
            prt[0] = 370
191
            prt[1] = 372
192
            prt[2] = 394
193
            prt[3] = 370
194
            prt[4] = 372
195
            prt[5] = 370
196
        }
197
        if (!global.dialogue_open)
198
        {
199
            timer = 45
200
            scene++
201
        }
202
        break
203
    case 5:
204
        if (!scr_timer
scr_timer

function scr_timer() //gml_Script_scr_timer { if (timer > 0) { timer-- return false; } else return true; }
())
205
            return;
206
        ceroba_npc.npc_direction = "right"
207
        scene++
208
        break
209
    case 6:
210
        scr_text
scr_text

function scr_text() //gml_Script_scr_text { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue) }
()
211
        with (msg)
212
        {
213
            color = true
214
            col_modif[0] = make_color_rgb(68, 102, 286)
215
            sndfnt = 108
216
            talker[0] = ceroba_npc
217
            message[0] = "* And the corn they grow?#  So good."
218
            message[1] = "* They used to give my#  husband, Chujin, baskets#  full every other week."
219
            message_col[1][0] = "                      #           Chujin                                  "
220
            message[2] = "* ..."
221
            message[3] = "* Anyway, I trailed off."
222
            message[4] = "* Where was I?"
223
            prt[0] = 395
224
            prt[1] = 372
225
            prt[2] = 393
226
            prt[3] = 371
227
            prt[4] = 370
228
            if (message_current == 3)
229
                ceroba_npc.npc_direction = "down"
230
        }
231
        if (!global.dialogue_open)
232
        {
233
            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 }
(music, 1000)
234
            timer = 15
235
            scene++
236
        }
237
        break
238
    case 7:
239
        if (!scr_timer
scr_timer

function scr_timer() //gml_Script_scr_timer { if (timer > 0) { timer-- return false; } else return true; }
())
240
            return;
241
        scr_text
scr_text

function scr_text() //gml_Script_scr_text { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue) }
()
242
        with (msg)
243
        {
244
            sndfnt = 107
245
            message[0] = "* I'm back!"
246
            prt[0] = 417
247
        }
248
        if (!global.dialogue_open)
249
        {
250
            audio_sound_gain(obj_radio.current_song, 1, 1000)
251
            starlo_npc.npc_arrived = false
252
            scene++
253
        }
254
        break
255
    case 8:
256
        with (starlo_npc)
257
        {
258
            image_alpha = 1
259
            actor_speed = 3
260
            axis_override = "y"
261
            can_walk = true
262
            x_dest[0] = 160
263
            y_dest[0] = 190
264
            end_direction = "right"
265
            if npc_arrived
266
            {
267
                other.scene++
268
                other.timer = 10
269
            }
270
        }
271
        break
272
    case 9:
273
        scr_text
scr_text

function scr_text() //gml_Script_scr_text { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue) }
()
274
        with (msg)
275
        {
276
            sndfnt = 107
277
            message[0] = "* Turns out I had one#  just your size AND in#  the same color."
278
            message[1] = "* It's like, destiny or#  somethin'."
279
            message[2] = "* Here!"
280
            prt[0] = 422
281
            prt[1] = 417
282
            prt[2] = 417
283
        }
284
        if (!global.dialogue_open)
285
        {
286
            ceroba_npc.npc_direction = "up"
287
            with (starlo_npc)
288
            {
289
                actor_speed = 1
290
                axis_override = "x"
291
                can_walk = true
292
                x_dest[0] = 180
293
                y_dest[0] = y - 10
294
                end_direction = "up"
295
            }
296
            with (player_npc)
297
            {
298
                walk_direction_flip = true
299
                x_dest[0] = x
300
                y_dest[0] = y - 25
301
                actor_speed = 2
302
                can_walk = true
303
                end_direction = "up"
304
            }
305
            starlo_npc.npc_arrived = false
306
            scene++
307
        }
308
        break
309
    case 10:
310
        with (starlo_npc)
311
        {
312
            if npc_arrived
313
            {
314
                other.scene++
315
                other.timer = 60
316
            }
317
        }
318
        break
319
    case 11:
320
        with (starlo_npc)
321
        {
322
            if (!action_sprite)
323
            {
324
                action_sprite = true
325
                image_speed = 0.2
326
                sprite_index = up_sprite
327
            }
328
        }
329
        if scr_timer
scr_timer

function scr_timer() //gml_Script_scr_timer { if (timer > 0) { timer-- return false; } else return true; }
()
330
        {
331
            starlo_npc.action_sprite = false
332
            starlo_npc.image_speed = 0
333
            timer = 30
334
            scene++
335
        }
336
        break
337
    case 12:
338
        if (!scr_timer
scr_timer

function scr_timer() //gml_Script_scr_timer { if (timer > 0) { timer-- return false; } else return true; }
())
339
            return;
340
        scr_text
scr_text

function scr_text() //gml_Script_scr_text { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue) }
()
341
        with (msg)
342
            message[0] = "* (You got a Nice Hat!)"
343
        audio_play_sound(snd_success, 1, 0)
344
        starlo_npc.npc_arrived = false
345
        player_npc.walk_direction_flip = true
346
        player_npc.npc_direction = "down"
347
        global.player_armor = "Nice Hat"
348
        scene++
349
        break
350
    case 13:
351
        if (global.dialogue_open == true)
352
            return;
353
        with (starlo_npc)
354
        {
355
            actor_speed = 1
356
            axis_override = "y"
357
            can_walk = true
358
            x_dest[0] = obj_pl.x - 40
359
            y_dest[0] = y
360
            end_direction = "right"
361
            if npc_arrived
362
            {
363
                other.scene++
364
                other.timer = 40
365
            }
366
        }
367
        break
368
    case 14:
369
        if (!scr_timer
scr_timer

function scr_timer() //gml_Script_scr_timer { if (timer > 0) { timer-- return false; } else return true; }
())
370
            return;
371
        scr_text
scr_text

function scr_text() //gml_Script_scr_text { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue) }
()
372
        with (msg)
373
        {
374
            talker[0] = starlo_npc
375
            message[0] = "* Wow..."
376
            message[1] = "* I couldn't even tell it#  changed if I were#  standin' from afar."
377
            message[2] = "* Looks great!"
378
            message[3] = "* What do you think,#  Ceroba?"
379
            prt[0] = 404
380
            prt[1] = 417
381
            prt[2] = 417
382
            prt[3] = 424
383
            talker[4] = ceroba_npc
384
            message[4] = "* It's nice."
385
            prt[4] = 372
386
            talker[5] = starlo_npc
387
            message[5] = "* Isn't it?"
388
            message[6] = "* Well, I'd say this#  mission was a great#  success!"
389
            message[7] = "* Go on and take a break,#  Clover."
390
            message[8] = "* I'll be waitin' for ya!"
391
            prt[5] = 422
392
            prt[6] = 417
393
            prt[7] = 417
394
            prt[8] = 417
395
            if (message_current <= (array_length_1d(talker) - 1))
396
            {
397
                if (talker[message_current] == starlo_npc)
398
                    sndfnt_array[message_current] = 107
399
                if (talker[message_current] == ceroba_npc)
400
                    sndfnt_array[message_current] = 108
401
            }
402
        }
403
        if (!global.dialogue_open)
404
        {
405
            starlo_npc.npc_arrived = false
406
            scene++
407
        }
408
        break
409
    case 15:
410
        ceroba_npc.npc_direction = "down"
411
        with (starlo_npc)
412
        {
413
            actor_speed = 1
414
            axis_override = "y"
415
            can_walk = true
416
            x_dest[0] = obj_pl.x
417
            y_dest[0] = 205
418
            end_direction = "down"
419
            if npc_arrived
420
                other.scene++
421
        }
422
        break
423
    case 16:
424
        global.dunes_flag[20] = 3
425
        scene = 17
426
        instance_destroy(obj_player_npc)
427
        scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() //gml_Script_scr_cutscene_end { global.cutscene = false obj_pl.alarm[0] = 1 }
()
428
        break
429
    case 17:
430
        with (starlo_npc)
431
        {
432
            if interact
433
            {
434
                scr_text
scr_text

function scr_text() //gml_Script_scr_text { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue) }
()
435
                with (msg)
436
                {
437
                    talker[0] = starlo_npc
438
                    message[0] = "* Gidde up, partner!"
439
                    message[1] = "* This town has plenty to#  see!"
440
                    prt[0] = 417
441
                    prt[1] = 417
442
                }
443
                return;
444
            }
445
        }
446
        with (ceroba_npc)
447
        {
448
            if interact
449
            {
450
                scr_text
scr_text

function scr_text() //gml_Script_scr_text { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue) }
()
451
                with (msg)
452
                {
453
                    talker[0] = ceroba_npc
454
                    message[0] = "* ..."
455
                    prt[0] = 370
456
                }
457
                return;
458
            }
459
        }
460
        break
461
}