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
var starlo_npc;
2
if (instance_exists(obj_starlo_npc))
3
    starlo_npc = 1169;
4
else
5
    starlo_npc = 0;
6
var ceroba_npc;
7
if (instance_exists(obj_ceroba_npc))
8
    ceroba_npc = 1161;
9
else
10
    ceroba_npc = 0;
11
var player_npc;
12
if (instance_exists(obj_player_npc))
13
    player_npc = 1168;
14
else
15
    player_npc = 0;
16
switch (scene)
17
{
18
    case -1:
19
        scr_radio_restart
scr_radio_restart

function scr_radio_restart() { with (obj_radio) event_user(0); }
();
20
        scene++;
21
        break;
22
    case 0:
23
        if (!scr_timer
scr_timer

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
24
            exit;
25
        scr_text
scr_text

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

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
146
            exit;
147
        scr_text
scr_text

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

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

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
208
            exit;
209
        ceroba_npc.npc_direction = "right";
210
        scene++;
211
        break;
212
    case 6:
213
        scr_text
scr_text

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

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
243
            exit;
244
        scr_text
scr_text

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

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

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

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
342
            exit;
343
        scr_text
scr_text

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

function scr_timer() { if (timer > 0) { timer--; return false; } else { return true; } }
())
373
            exit;
374
        scr_text
scr_text

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

function scr_cutscene_end() { global.cutscene = false; obj_pl.alarm[0] = 1; }
();
431
        break;
432
    case 17:
433
        with (starlo_npc)
434
        {
435
            if (interact)
436
            {
437
                scr_text
scr_text

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

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
454
                with (msg)
455
                {
456
                    talker[0] = ceroba_npc;
457
                    message[0] = "* ...";
458
                    prt[0] = 370;
459
                }
460
                exit;
461
            }
462
        }
463
        break;
464
}