Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_room_controller_snowdin_13_Step_0

(view raw script w/o annotations or w/e)
1
if (live_call())
2
    return global.live_result;
3
var rephil = 1434;
4
var toast = 1437;
5
var swig = 1435;
6
var toast_col = make_color_rgb(119, 255, 198);
7
var swig_col = make_color_rgb(150, 173, 255);
8
var rephil_col = make_color_rgb(211, 231, 221);
9
if (global.snowdin_flag[8] == 0)
10
{
11
    switch (scene)
12
    {
13
        case 1:
14
            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; }
();
15
            scr_radio_fade
scr_radio_fade

function scr_radio_fade(arg0, arg1) { var fade_vol = arg0; var fade_len = arg1; with (obj_radio) audio_sound_gain(current_song, fade_vol, fade_len); }
(0, 500);
16
            timer = 10;
17
            scene++;
18
            break;
19
        case 2:
20
            if (timer > 0)
21
            {
22
                timer--;
23
            }
24
            else
25
            {
26
                with (rephil)
27
                {
28
                    image_speed = 0.25;
29
                    if (on_animation_end())
30
                    {
31
                        sprite_index = spr_rephil_overworld_yellow;
32
                        image_speed = 0;
33
                        other.timer = 45;
34
                        other.scene += 1;
35
                    }
36
                }
37
            }
38
            break;
39
        case 3:
40
            if (timer > 0)
41
                timer--;
42
            scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
43
            with (msg)
44
            {
45
                portrait = false;
46
                talker[0] = rephil;
47
                message[0] = "* Hey, watch it!";
48
                message[1] = "* Oh ho ho. Wouldya look at that.";
49
                message[2] = "* I think this chump wants to#  pass.";
50
                message[3] = string("* {0}! Toast! Come over here!", global.fun_swig_name);
51
            }
52
            if (global.dialogue_open == false)
53
            {
54
                timer = 30;
55
                audio_play_sound(mus_occupied_turf_yellow, 1, 1);
56
                scene++;
57
            }
58
            break;
59
        case 4:
60
            with (rephil)
61
            {
62
                if (y > 200)
63
                    y -= 3;
64
            }
65
            with (toast)
66
            {
67
                if (x > 190)
68
                    x -= 5;
69
            }
70
            with (swig)
71
            {
72
                if (x < 130)
73
                    x += 5;
74
            }
75
            if (timer > 0)
76
                timer--;
77
            else
78
                scene++;
79
            break;
80
        case 5:
81
            with (toast)
82
            {
83
                path_start(pt_toast_jump_snowdin_13_yellow, 5, path_action_stop, false);
84
                audio_play_sound(snd_toast_jump, 1, 0);
85
            }
86
            scene++;
87
            break;
88
        case 6:
89
            with (toast)
90
            {
91
                if (path_position == 1)
92
                {
93
                    sprite_index = spr_toast_turn_overworld_yellow;
94
                    image_speed = 0.5;
95
                    other.timer = 15;
96
                    other.scene++;
97
                }
98
            }
99
            break;
100
        case 7:
101
            if (timer > 0)
102
                timer--;
103
            else
104
                scene++;
105
            break;
106
        case 8:
107
            scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
108
            with (msg)
109
            {
110
                message[0] = "* Yeah boss?";
111
                message[1] = "* What's up? You need a shave#  again?";
112
                message[2] = "* We got ourselves some fresh#  meat.";
113
                message[3] = "* Ha! You ain't gettin' nowhere,#  small fry!";
114
                message[4] = "* Yeah! Not nowhere!";
115
                message[5] = "* Will you two put a lid on it?";
116
                message[6] = "* Ahm.";
117
                message[7] = "* Anyway.";
118
                message[8] = "* The name's Rephil.";
119
                message[9] = "* I'm the boss of the#  world-renowned gang, The#  Shufflers.";
120
                message[10] = "* We rule this town.";
121
                message[11] = "* If you wanna pass, you're gonna#  have to go through us!";
122
                talker[0] = toast;
123
                talker[1] = swig;
124
                talker[2] = rephil;
125
                talker[3] = swig;
126
                talker[4] = toast;
127
                talker[5] = rephil;
128
            }
129
            if (global.dialogue_open == false)
130
                scene++;
131
            break;
132
        case 9:
133
            global.sound_carry_overworld = true;
134
            global.battle_enemy_name = "shufflers";
135
            global.exclamation_mark_type = "nothing";
136
            global.battling_enemy = false;
137
            global.battling_boss = true;
138
            global.battle_start = true;
139
            global.current_room_overworld = room_get_name(room);
140
            instance_create(obj_pl.x, obj_pl.y, obj_heart_initiate_battle);
141
            scene++;
142
            break;
143
    }
144
}
145
else if (global.snowdin_flag[8] == 1)
146
{
147
    switch (scene)
148
    {
149
        case 0:
150
            scr_radio_fade
scr_radio_fade

function scr_radio_fade(arg0, arg1) { var fade_vol = arg0; var fade_len = arg1; with (obj_radio) audio_sound_gain(current_song, fade_vol, fade_len); }
(0, 0);
151
            if (timer < 0)
152
                timer--;
153
            else
154
                scene++;
155
            break;
156
        case 1:
157
            scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
158
            with (msg)
159
            {
160
                portrait = false;
161
                talker[0] = rephil;
162
                message[0] = "* Geez.";
163
                message[1] = "* We Shufflers prefer to settle#  things in a more dignified#  manner.";
164
                message[2] = "* Ya catch my drift?";
165
                message[3] = "* We would like to propose a#  challenge.";
166
                message[4] = "* A game of sorts.";
167
            }
168
            scene++;
169
            break;
170
        case 2:
171
            if (!instance_exists(obj_dialogue))
172
            {
173
                obj_snowdin_13_ball.active = true;
174
                audio_play_sound(snd_slide_whistle, 20, 0);
175
                scene++;
176
            }
177
            break;
178
        case 3:
179
            if (obj_snowdin_13_ball.ball_arrived == 1)
180
            {
181
                obj_snowdin_13_ball.ball_arrived = 0;
182
                scene++;
183
            }
184
            break;
185
        case 4:
186
            scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
187
            with (msg)
188
            {
189
                portrait = false;
190
                talker[0] = rephil;
191
                message[0] = "* We'll take this ball 'ere, and#  hide it under one of us.";
192
                message[1] = "* Next, we'll shuffle around.";
193
                message[2] = "* When we finish, you'll have to#  guess who has the ball.";
194
                message[3] = "* We'll do this three times in a#  row.";
195
                message[4] = "* You win?";
196
                message[5] = "* You can pass.";
197
                message[6] = "* You lose?";
198
                message[7] = "* We'll sit here blockin' ya for#  all eternity.";
199
            }
200
            scene++;
201
            break;
202
        case 5:
203
            if (!instance_exists(obj_dialogue))
204
            {
205
                obj_snowdin_13_ball.active = 3;
206
                audio_play_sound(snd_slide_whistle_reversed, 20, 0);
207
                scene++;
208
            }
209
            break;
210
        case 6:
211
            if (obj_snowdin_13_ball.ball_arrived == 1)
212
            {
213
                instance_destroy(obj_snowdin_13_ball);
214
                scene++;
215
            }
216
            break;
217
        case 7:
218
            scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
219
            with (msg)
220
            {
221
                portrait = false;
222
                ch[1] = "Yes";
223
                ch[2] = "No";
224
                ch_msg = 0;
225
                talker[0] = rephil;
226
                message[0] = "* Ya pickin' up what I'm puttin'#  down?";
227
                message[1] = "* That makes things easy, then.";
228
                message[2] = "* Here we go!";
229
                if (outcome == 1)
230
                {
231
                    talker[1] = rephil;
232
                    message[1] = "* That makes things easy, then.";
233
                    message[2] = "* Here we go!";
234
                    other.scene = 11;
235
                }
236
                if (outcome == 2)
237
                {
238
                    instance_destroy();
239
                    global.dialogue_open = false;
240
                    other.scene = 8;
241
                }
242
            }
243
            break;
244
        case 8:
245
            scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
246
            with (msg)
247
            {
248
                message[0] = "* No?";
249
                message[1] = "* Well ain't you just some#  unwanted coffee dregs.";
250
                message[2] = "* Yeah, dregs.";
251
                message[3] = "* Now, now. If ya don't get#  somethin', ya don't get it.";
252
                message[4] = "* It ain't the kid's fault.";
253
                message[5] = "* Tell ya what. Give that head of#  yours a nice break.";
254
                message[6] = "* Mull over the rules. Make sure#  ya get 'em good an' proper.";
255
                message[7] = "* Until then, the Shufflers'll be#  on path blockin' duty.";
256
                message[8] = "* Ain't that right boys?";
257
                message[9] = "* Yeah boss. Duty!";
258
                talker[0] = rephil;
259
                talker[1] = swig;
260
                talker[2] = toast;
261
                talker[3] = rephil;
262
                talker[9] = toast;
263
            }
264
            if (!global.dialogue_open)
265
                scene++;
266
            break;
267
        case 9:
268
            if (!instance_exists(obj_dialogue))
269
            {
270
                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; } }
(156, 1000);
271
                shufflers_turn_away = true;
272
                if (timer > 0)
273
                    timer--;
274
                else
275
                    scene++;
276
            }
277
            break;
278
        case 10:
279
            scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() { global.cutscene = false; obj_pl.alarm[0] = 1; }
();
280
            scr_radio_fade
scr_radio_fade

function scr_radio_fade(arg0, arg1) { var fade_vol = arg0; var fade_len = arg1; with (obj_radio) audio_sound_gain(current_song, fade_vol, fade_len); }
(1, 500);
281
            audio_stop_sound(mus_occupied_turf_yellow);
282
            global.snowdin_flag[8] = 2;
283
            scene = 0;
284
            break;
285
        case 11:
286
            if (!instance_exists(obj_dialogue))
287
            {
288
                shufflers_puzzle = true;
289
                timer = 0;
290
                scene = 0;
291
                global.snowdin_flag[8] = 3;
292
            }
293
            break;
294
    }
295
}
296
if ((global.snowdin_flag[8] == 2 || global.snowdin_flag[8] == 3) && !failure)
297
{
298
    switch (scene)
299
    {
300
        case 1:
301
            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; }
();
302
            scr_radio_fade
scr_radio_fade

function scr_radio_fade(arg0, arg1) { var fade_vol = arg0; var fade_len = arg1; with (obj_radio) audio_sound_gain(current_song, fade_vol, fade_len); }
(0, 500);
303
            shufflers_turn = true;
304
            scene++;
305
            break;
306
        case 2:
307
            with (rephil)
308
            {
309
                if (on_animation_end())
310
                {
311
                    sprite_index = spr_rephil_overworld_yellow;
312
                    image_speed = 0;
313
                    other.scene += 1;
314
                }
315
            }
316
            break;
317
        case 3:
318
            scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
319
            with (msg)
320
            {
321
                if (global.snowdin_flag[8] == 2)
322
                {
323
                    portrait = false;
324
                    ch[1] = "Yes";
325
                    ch[2] = "No";
326
                    ch_msg = 2;
327
                    talker[0] = rephil;
328
                    message[0] = "* 'Ey, look who's back!";
329
                    message[1] = "* That's the type of stand-up kid#  I like to see.";
330
                    message[2] = "* You ready to play?";
331
                    if (outcome == 1)
332
                    {
333
                        color_noloop = false;
334
                        message[3] = "* That makes things easy, then.";
335
                        message[4] = "* Here we go!";
336
                        other.scene = 6;
337
                    }
338
                    if (outcome == 2)
339
                    {
340
                        color_noloop = false;
341
                        message[3] = "* Fine then.";
342
                        timer = 45;
343
                        other.scene = 4;
344
                    }
345
                }
346
                else
347
                {
348
                    portrait = false;
349
                    talker[0] = rephil;
350
                    message[0] = "* Think you can pass this time?#  Let's find out!";
351
                    other.scene = 6;
352
                }
353
            }
354
            break;
355
        case 4:
356
            if (!instance_exists(obj_dialogue))
357
            {
358
                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; } }
(156, 1000);
359
                shufflers_turn_away = true;
360
                if (timer > 0)
361
                    timer--;
362
                else
363
                    scene++;
364
            }
365
            break;
366
        case 5:
367
            audio_stop_sound(mus_occupied_turf_yellow);
368
            with (obj_radio)
369
                audio_sound_gain(bgm, 1, 500);
370
            scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() { global.cutscene = false; obj_pl.alarm[0] = 1; }
();
371
            break;
372
        case 6:
373
            if (!instance_exists(obj_dialogue))
374
            {
375
                shufflers_puzzle = true;
376
                global.snowdin_flag[8] = 3;
377
                timer = 0;
378
                scene = 0;
379
            }
380
            break;
381
    }
382
}
383
if (shufflers_puzzle == true)
384
    cts_shufflers_puzzle();
385
if (failure && !shufflers_puzzle)
386
{
387
    if (shufflers_failsafe < 6)
388
    {
389
        if (scene == 0)
390
        {
391
            scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
392
            with (msg)
393
            {
394
                talker[0] = rephil;
395
                message[0] = "* Well, ain't that a pity.";
396
                message[1] = "* Why don't you take a while an'#  come back when you're ready to#  try again?";
397
                message[2] = "* Take some time to practice by#  yourself if ya can.";
398
                message[3] = "* Maybe then you'll be a bit more#  of a challenge.";
399
                message[4] = "* Until then, we ain't movin'.#  Right boys?";
400
                message[5] = "* Yeah boss, we'll stay right#  'ere.";
401
                talker[5] = swig;
402
                message[6] = "* Yeah. We ain't got anywhere#  better to go.";
403
                talker[6] = toast;
404
            }
405
            if (global.dialogue_open == false)
406
            {
407
                shufflers_turn_away = true;
408
                timer = 60;
409
                scene++;
410
            }
411
        }
412
        if (scene == 1)
413
        {
414
            if (timer > 0)
415
            {
416
                timer--;
417
            }
418
            else
419
            {
420
                scr_radio_fade
scr_radio_fade

function scr_radio_fade(arg0, arg1) { var fade_vol = arg0; var fade_len = arg1; with (obj_radio) audio_sound_gain(current_song, fade_vol, fade_len); }
(1, 500);
421
                scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() { global.cutscene = false; obj_pl.alarm[0] = 1; }
();
422
                failure = false;
423
                scene = 0;
424
            }
425
        }
426
    }
427
    else
428
    {
429
        scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
430
        with (msg)
431
        {
432
            talker[0] = rephil;
433
            message[0] = "* Uhh, hey there, kid.";
434
            message[1] = "* We've been at this a while, ya#  know?";
435
            message[2] = "* Ain't you gettin' tired of this?";
436
            message[3] = "* Even we're gettin' pretty tired.";
437
            message[4] = "* We don't usually have this much#  exercise.";
438
            message[5] = "* See, we don't get many#  customers tryin' to come#  through.";
439
            message[6] = "* They must have heard how#  intimidatin' we can be, right#  boys?";
440
            talker[7] = swig;
441
            message[7] = "* Yeah, boss!";
442
            message[8] = "* Ain't nobody messin' with us!";
443
            talker[9] = toast;
444
            message[9] = "* Yeah, boss!";
445
            message[10] = "* Mess!";
446
            talker[11] = rephil;
447
            message[11] = "* Tell ya what, kid.";
448
            message[12] = "* Challengin' us again an' again,";
449
            message[13] = "* Failin' over an' over,";
450
            message[14] = "* 'Specially when you're so#  clearly outmatched,";
451
            message[15] = "* Takes a lot outta ya.";
452
            message[16] = "* You gotta have a ton of#  perseverance to pull that off.";
453
            message[17] = "* That, or you're one of the#  stupidest monsters I ever met.";
454
            message[18] = "* Either way, I think you've#  earned your way through.";
455
            message[19] = "* Come on, boys.";
456
        }
457
        if (global.dialogue_open == false)
458
        {
459
            global.snowdin_flag[8] = 4;
460
            failure = false;
461
            scene = 1;
462
        }
463
    }
464
}
465
if (global.snowdin_flag[8] == 4)
466
{
467
    switch (scene)
468
    {
469
        case 0:
470
            scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
471
            with (msg)
472
            {
473
                message[0] = "* Boss, I think the little punk#  beat us.";
474
                message[1] = "* That must've been a lucky#  guess!";
475
                message[2] = "* There's no way a glass of#  spoiled milk like you could#  beat us!";
476
                message[3] = "* Now, now, Toast. Let's simmer#  down.";
477
                message[4] = "* There ain't nothing to get#  heated over.";
478
                message[5] = "* The kid beat us fair n' square.";
479
                message[6] = "* The Shufflers ain't nothing if#  not true to their word.";
480
                message[7] = "* Ain't that right?";
481
                message[8] = "* Yeah boss, a Shuffler always#  keeps their word.";
482
                message[9] = "* Yeah, always.";
483
                message[10] = "* Now, kid, we'll let you pass on#  through.";
484
                message[11] = "* You've earned ya self a#  powerful friend in the#  Shufflers today.";
485
                message[12] = "* All ya gotta do is remember the#  name,";
486
                message[13] = "* An' we'll be on ya side if ya#  ever need us.";
487
                message[14] = "* The Shufflers always protect a#  friend, right boys?";
488
                message[15] = "* Yeah, you got a problem, we can#  handle it.";
489
                message[16] = "* Yeah, handle.";
490
                talker[0] = toast;
491
                talker[1] = swig;
492
                talker[3] = rephil;
493
                talker[8] = swig;
494
                talker[9] = toast;
495
                talker[10] = rephil;
496
                talker[15] = swig;
497
                talker[16] = toast;
498
            }
499
            if (global.dialogue_open == false)
500
                scene++;
501
            break;
502
        case 1:
503
            if (instance_exists(obj_dialogue))
504
                break;
505
            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; } }
(156, 500);
506
            with (rephil)
507
            {
508
                if (y > 170)
509
                {
510
                    y -= 1.5;
511
                }
512
                else if (x > 120)
513
                {
514
                    x -= 1.5;
515
                }
516
                else
517
                {
518
                    other.scene++;
519
                    other.timer = 15;
520
                }
521
            }
522
            with (toast)
523
            {
524
                if (x < 200)
525
                    x += 1;
526
            }
527
            with (swig)
528
            {
529
                if (x > 120)
530
                    x -= 1;
531
            }
532
            break;
533
        case 2:
534
            if (timer > 0)
535
            {
536
                timer--;
537
            }
538
            else
539
            {
540
                global.snowdin_flag[8] = 5;
541
                scr_radio_fade
scr_radio_fade

function scr_radio_fade(arg0, arg1) { var fade_vol = arg0; var fade_len = arg1; with (obj_radio) audio_sound_gain(current_song, fade_vol, fade_len); }
(1, 500);
542
                scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() { global.cutscene = false; obj_pl.alarm[0] = 1; }
();
543
                scene = 0;
544
            }
545
            break;
546
    }
547
}
548
if (shufflers_turn_away)
549
{
550
    shufflers_turn_away = false;
551
    with (rephil)
552
    {
553
        sprite_index = spr_rephil_turn_away;
554
        image_speed = 0.2;
555
    }
556
    with (swig)
557
    {
558
        sprite_index = spr_swig_turn_away;
559
        image_speed = 0.2;
560
    }
561
    with (toast)
562
    {
563
        sprite_index = spr_toast_turn_away;
564
        image_speed = 0.2;
565
    }
566
}
567
if (shufflers_turn)
568
{
569
    shufflers_turn = false;
570
    with (rephil)
571
    {
572
        sprite_index = spr_rephil_turn_overworld_yellow;
573
        image_index = 0;
574
        image_speed = 0.2;
575
    }
576
    with (swig)
577
    {
578
        sprite_index = spr_swig_turn_overworld_yellow;
579
        image_index = 0;
580
        image_speed = 0.2;
581
    }
582
    with (toast)
583
    {
584
        sprite_index = spr_toast_turn_overworld_yellow;
585
        image_index = 0;
586
        image_speed = 0.2;
587
    }
588
}
589
if (instance_exists(obj_dialogue))
590
{
591
    with (obj_dialogue)
592
    {
593
        if (!variable_instance_exists(id, "color_noloop"))
594
            color_noloop = false;
595
        color = true;
596
        col_modif[0] = toast_col;
597
        col_modif[1] = swig_col;
598
        col_modif[2] = rephil_col;
599
        var new_col = 2;
600
        if (!color_noloop)
601
        {
602
            for (var i = 0; i < array_length(message); i++)
603
            {
604
                if (is_array(talker))
605
                {
606
                    var talker_current = talker[clamp(i, 0, array_length(talker) - 1)];
607
                    if (talker_current != -4 || other.shufflers_puzzle == true)
608
                    {
609
                        if (talker_current == rephil || other.shufflers_puzzle == true)
610
                            new_col = 2;
611
                        if (talker_current == swig)
612
                            new_col = 1;
613
                        if (talker_current == toast)
614
                            new_col = 0;
615
                        message_col[i][0] = "";
616
                        message_col[i][1] = "";
617
                        message_col[i][2] = "";
618
                        message_col[i][new_col] = message[i];
619
                    }
620
                }
621
            }
622
            color_noloop = true;
623
        }
624
    }
625
}