Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_steamworks_22_controller_pacifist_Step_0

(view raw script w/o annotations or w/e)
1
if (live_call())
2
    return global.live_result;
3
switch (scene)
4
{
5
    case 0:
6
        if (obj_pl.x <= 1820)
7
        {
8
            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; }
();
9
            cutscene_advance();
10
        }
11
        break;
12
    case 1:
13
        instance_create_depth(obj_pl.x, 20, 850, obj_steamworks_22_energy_ball_fake);
14
        cutscene_advance();
15
        break;
16
    case 2:
17
        if (!instance_exists(obj_steamworks_22_energy_ball_fake))
18
        {
19
            audio_play_sound(snd_axis_energy_ball_explode, 1, 0);
20
            audio_play_sound(snd_glass_break_2, 1, 0);
21
            layer_set_visible("asset_broken_glass", true);
22
            layer_set_visible("asset_glass_flash", true);
23
            layer_set_visible("asset_glass_panel", false);
24
            alarm[0] = 1;
gml_Object_obj_steamworks_22_controller_pacifist_Alarm_0.gml

layer_set_visible("asset_glass_flash", false);
25
            scr_screenshake
scr_screenshake

function scr_screenshake(arg0, arg1) { if (instance_exists(obj_screenshake_player)) exit; with (instance_create(__view_get(e__VW.Object, 0).x, __view_get(e__VW.Object, 0).y, obj_screenshake_player)) { alarm[0]
gml_Object_obj_steamworks_22_controller_pacifist_Alarm_0.gml

layer_set_visible("asset_glass_flash", false);
intensity = arg1; } } enum e__VW { XView, YView, WView, HView, Angle, HBorder, VBorder, HSpeed, VSpeed, Object, Visible, XPort, YPort, WPort, HPort, Camera, SurfaceID }
(10, 2);
26
            cutscene_advance();
27
        }
28
        break;
29
    case 3:
30
        obj_pl.direction = 90;
31
        cutscene_follower_into_actor();
32
        break;
33
    case 4:
34
        instance_create(obj_ceroba_npc.x, obj_ceroba_npc.y - 35, obj_cutscene_ex);
35
        cutscene_npc_direction(1161, "up");
36
        break;
37
    case 5:
38
        cutscene_wait(1);
39
        break;
40
    case 6:
41
        instance_destroy(obj_cutscene_ex);
42
        layer_set_visible("asset_broken_glass", false);
43
        cutscene_advance();
44
        break;
45
    case 7:
46
        cutscene_instance_create(0, 0, 577);
47
        break;
48
    case 8:
49
        cutscene_wait(1);
50
        break;
51
    case 9:
52
        cutscene_instance_create(1690, 40, 1166);
53
        obj_axis_npc.npc_dynamic_depth = false;
54
        obj_axis_npc.depth = 850;
55
        break;
56
    case 10:
57
        cutscene_npc_walk(1166, 1690, 90, 3, "y", "down");
58
        break;
59
    case 11:
60
        cutscene_dialogue();
61
        with (msg)
62
        {
63
            talker[0] = 1166;
64
            message[0] = "* FOUND YOU.";
65
            prt[0] = 2916;
66
        }
67
        break;
68
    case 12:
69
        cutscene_npc_set_sprites(1161, 81, 80, 78, 79, 61, 65, 60, 63);
70
        break;
71
    case 13:
72
        cutscene_npc_walk(1161, 60, 120, 7, "x", "right");
73
        obj_ceroba_npc.solid = false;
74
        cutscene_advance();
75
        break;
76
    case 14:
77
        cutscene_music_start(627);
78
        break;
79
    case 15:
80
        instance_create_depth(obj_axis_npc.x, obj_axis_npc.y, layer_get_depth("tiles_outside") - 50, obj_steamworks_22_axis_throwing);
81
        instance_destroy(obj_axis_npc);
82
        cutscene_advance();
83
        break;
84
    case 16:
85
        scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() { global.cutscene = false; obj_pl.alarm[0] = 1; }
();
86
        cutscene_camera_move(obj_pl.x, obj_pl.y, 1);
87
        dynamic_wall = instance_create(camera_get_view_x(view_camera[0]) + camera_get_view_width(view_camera[0]), 0, obj_wall);
88
        dynamic_wall.image_yscale = 12;
89
        global.sworks_flag[13] = 1;
90
        cutscene_advance(17);
91
        break;
92
    case 17:
93
        obj_camera.move = false;
94
        if (obj_pl.x < obj_camera.x)
95
            obj_camera.x = obj_pl.x;
96
        dynamic_wall.x = camera_get_view_x(view_camera[0]) + camera_get_view_width(view_camera[0]);
97
        if (obj_pl.x < 540)
98
        {
99
            obj_steamworks_22_axis_throwing.alarm[0] = -1;
100
            instance_create(obj_pl.x, obj_pl.y, obj_player_npc);
101
            obj_player_npc.left_sprite = 17;
102
            cutscene_npc_walk(1168, 60, 140, 5, "x", "right", 1161);
103
            cutscene_advance();
104
        }
105
        break;
106
    case 18:
107
        obj_camera.x = obj_pl.x;
108
        if (obj_player_npc.npc_arrived == true)
109
        {
110
            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; }
(cutscene_music, 500);
111
            cutscene_camera_reset();
112
        }
113
        break;
114
    case 19:
115
        cutscene_wait(1);
116
        break;
117
    case 20:
118
        cutscene_npc_walk(1161, obj_pl.x + 20, obj_pl.y, 3, "x", "right");
119
        break;
120
    case 21:
121
        cutscene_wait(1.5);
122
        break;
123
    case 22:
124
        cutscene_npc_direction(1161, "left");
125
        break;
126
    case 23:
127
        cutscene_dialogue();
128
        with (msg)
129
        {
130
            talker[0] = 1161;
131
            message[0] = "* Looks like he's go-     ";
132
            prt[0] = 381;
133
            if (cutoff >= string_length(message[message_current]))
134
            {
135
                instance_destroy();
136
                other.scene += 1;
137
                instance_create(obj_ceroba_npc.x, obj_ceroba_npc.y - 35, obj_cutscene_ex);
138
            }
139
        }
140
        break;
141
    case 24:
142
        cutscene_npc_direction(1168, "right");
143
        break;
144
    case 25:
145
        cutscene_sfx_play(380, 1);
146
        break;
147
    case 26:
148
        var energy_ball = instance_create_depth(370, 120, -240, obj_steamworks_22_energy_ball_fake_2);
149
        energy_ball.direction = point_direction(energy_ball.x, energy_ball.y, obj_ceroba_npc.x + 20, obj_ceroba_npc.y - 5);
150
        energy_ball.speed = point_distance(energy_ball.x, energy_ball.y, obj_ceroba_npc.x + 20, obj_ceroba_npc.y - 5) / 27;
151
        energy_ball_deflect_noloop = false;
152
        cutscene_advance();
153
        break;
154
    case 27:
155
        ceroba_x_original = obj_ceroba_npc.x;
156
        cutscene_wait(0.5);
157
        break;
158
    case 28:
159
        instance_destroy(obj_cutscene_ex);
160
        obj_ceroba_npc.x = ceroba_x_original + 6;
161
        cutscene_npc_action_sprite(1161, 1268, 1, true, 0);
162
        if (obj_ceroba_npc.image_index >= 6 && energy_ball_deflect_noloop == false)
163
        {
164
            audio_play_sound(snd_ring, 1, 0);
165
            obj_steamworks_22_energy_ball_fake_2.direction = 25;
166
            obj_steamworks_22_energy_ball_fake_2.speed *= 1.5;
167
            energy_ball_deflect_noloop = true;
168
        }
169
        break;
170
    case 29:
171
        cutscene_wait(1.5);
172
        break;
173
    case 30:
174
        cutscene_npc_reset_sprite(1161, "right");
175
        break;
176
    case 31:
177
        cutscene_instance_create(360, 140, 1166);
178
        break;
179
    case 32:
180
        cutscene_npc_walk(1166, 240, 140, 4, "x", "left");
181
        break;
182
    case 33:
183
        cutscene_wait(0.5);
184
        break;
185
    case 34:
186
        cutscene_music_start(219);
187
        break;
188
    case 35:
189
        cutscene_npc_action_sprite(1166, 2693, 1, true);
190
        break;
191
    case 36:
192
        cutscene_npc_action_sprite(1166, 3312, 1, true, 1);
193
        cutscene_advance();
194
        break;
195
    case 37:
196
        cutscene_dialogue();
197
        with (msg)
198
        {
199
            talker[0] = 1161;
200
            message[0] = "* Axis, hold on a second!";
201
            prt[0] = 381;
202
        }
203
        break;
204
    case 38:
205
        cutscene_npc_action_sprite(1166, 2768, 1, false, 0);
206
        break;
207
    case 39:
208
        cutscene_npc_reset_sprite(1166, "left");
209
        break;
210
    case 40:
211
        cutscene_wait(1);
212
        break;
213
    case 41:
214
        cutscene_dialogue();
215
        with (msg)
216
        {
217
            talker[0] = 1166;
218
            message[0] = "* ONE.";
219
            prt[0] = 473;
220
        }
221
        break;
222
    case 42:
223
        cutscene_npc_action_sprite(1166, 1975, 1, true, 0);
224
        break;
225
    case 43:
226
        cutscene_npc_action_sprite(1166, 3312, 1, true, 1);
227
    case 44:
228
        cutscene_dialogue();
229
        with (msg)
230
        {
231
            talker[0] = 1161;
232
            talker[1] = 1166;
233
            talker[2] = 1166;
234
            talker[3] = 1161;
235
            message[0] = "* UH - ONE MILLION#  SECONDS!";
236
            message[1] = "* I DO NOT HAVE THE#  KNOWLEDGE TO COUNT THAT#  HIGH.";
237
            message[2] = "* WHAT IS THIS#  ABOUT?";
238
            message[3] = "* I have a surprise for#  you! A special one!";
239
            prt[0] = 381;
240
            prt[1] = 473;
241
            prt[2] = 473;
242
            prt[3] = 3754;
243
        }
244
        break;
245
    case 45:
246
        cutscene_npc_action_sprite(1166, 2768, 1, false, 0);
247
        break;
248
    case 46:
249
        cutscene_dialogue();
250
        with (msg)
251
        {
252
            talker[0] = 1166;
253
            talker[2] = 1161;
254
            message[0] = "* I WILL ADMIT, YOU HAVE#  MY ATTENTION.";
255
            message[1] = "* PROCEED.";
256
            message[2] = "* I have for you, your#  very own robot#  companion!";
257
            prt[0] = 473;
258
            prt[1] = 473;
259
            prt[2] = 3754;
260
        }
261
        break;
262
    case 47:
263
        cutscene_instance_create(obj_ceroba_npc.x + 40, obj_ceroba_npc.y - 6, 2041);
264
        audio_play_sound(snd_mart_impact_2, 1, 0);
265
        break;
266
    case 48:
267
        cutscene_screenshake(0.5, 2);
268
        break;
269
    case 49:
270
        cutscene_wait(1);
271
        break;
272
    case 50:
273
        cutscene_dialogue();
274
        with (msg)
275
        {
276
            talker[0] = 1161;
277
            message[0] = "* A sleek, top of the#  line model!";
278
            message[1] = "* Aren't they beautiful?";
279
            prt[0] = 398;
280
            prt[1] = 3754;
281
            if (message_current >= 1)
282
            {
283
                skippable = false;
284
                if (cutoff >= string_length(message[message_current]))
285
                {
286
                    instance_destroy();
287
                    other.scene++;
288
                }
289
            }
290
        }
291
        break;
292
    case 51:
293
        scr_music_sudden_stop
scr_music_sudden_stop

function scr_music_sudden_stop(arg0, arg1, arg2) { with (instance_create(0, 0, obj_audio_sudden_stop_helper)) { audio_to_fade = arg0; fade_strength = arg1 / 100; audio_stop = arg2; if (audio_stop == false) audio_resume_sound(arg0); } }
(cutscene_music, 5, true);
294
        cutscene_advance();
295
        break;
296
    case 52:
297
        if (cutscene_dialogue())
298
        {
299
            scr_music_sudden_stop
scr_music_sudden_stop

function scr_music_sudden_stop(arg0, arg1, arg2) { with (instance_create(0, 0, obj_audio_sudden_stop_helper)) { audio_to_fade = arg0; fade_strength = arg1 / 100; audio_stop = arg2; if (audio_stop == false) audio_resume_sound(arg0); } }
(other.cutscene_music, 5, false);
300
            audio_sound_set_track_position(cutscene_music, 15.95);
301
        }
302
        with (msg)
303
        {
304
            talker[0] = 1166;
305
            message[0] = "* NO.";
306
            message[1] = "* NOT IN THE MOOD.";
307
            message[2] = "* MY EYES ARE ONLY SET ON#  YOUR APPREHENSION.";
308
            message[3] = "* GOODBYE.";
309
            prt[0] = 473;
310
            prt[1] = 473;
311
            prt[2] = 473;
312
            prt[3] = 473;
313
        }
314
        break;
315
    case 53:
316
        cutscene_npc_action_sprite(1166, 1772, 1, true, 0);
317
        break;
318
    case 54:
319
        cutscene_npc_action_sprite(1166, 3312, 1, true, 1);
320
        break;
321
    case 55:
322
        cutscene_dialogue();
323
        with (msg)
324
        {
325
            talker[0] = 1161;
326
            talker[2] = 1166;
327
            message[0] = "* You're making them cry,#  Axis!";
328
            message[1] = "* Come on, now!";
329
            message[2] = "* ROBOTS CANNOT CRY. I#  HAVE TRIED.";
330
            message[3] = "* GOODBYE.";
331
            prt[0] = 381;
332
            prt[1] = 3754;
333
            prt[2] = 473;
334
            prt[3] = 473;
335
        }
336
        break;
337
    case 56:
338
        cutscene_audio_fade(cutscene_music, 0, 500, 0.15, false, true);
339
        break;
340
    case 57:
341
        cutscene_dialogue();
342
        with (msg)
343
        {
344
            talker[0] = 1161;
345
            message[0] = "* Well, it was worth a#  shot.";
346
            message[1] = "* Plan C it is!";
347
            prt[0] = 377;
348
            prt[1] = 394;
349
        }
350
        break;
351
    case 58:
352
        cutscene_npc_action_sprite(1161, 3699, 1, true, 0);
353
        break;
354
    case 59:
355
        cutscene_instance_create(obj_steamworks_13_robuild_complete.x, obj_steamworks_13_robuild_complete.y, 2425);
356
        break;
357
    case 60:
358
        cutscene_npc_action_sprite(1166, 3525, 1, false, 0);
359
        break;
360
    case 61:
361
        break;
362
    case 62:
363
        if (instance_exists(obj_steamworks_22_energy_ball_fake_2) && obj_steamworks_22_energy_ball_fake_2.x > (obj_axis_npc.x - 20))
364
        {
365
            audio_play_sound(snd_axis_energy_ball_explode, 1, 0);
366
            instance_create_depth(0, 0, -9999, obj_steamworks_22_ball_flash);
367
            instance_destroy(obj_steamworks_22_energy_ball_fake_2);
368
            audio_play_sound(snd_undertale_explosion, 1, 0);
369
            layer_set_visible("rubble", false);
370
            scr_screenshake
scr_screenshake

function scr_screenshake(arg0, arg1) { if (instance_exists(obj_screenshake_player)) exit; with (instance_create(__view_get(e__VW.Object, 0).x, __view_get(e__VW.Object, 0).y, obj_screenshake_player)) { alarm[0]
gml_Object_obj_steamworks_22_controller_pacifist_Alarm_0.gml

layer_set_visible("asset_glass_flash", false);
intensity = arg1; } } enum e__VW { XView, YView, WView, HView, Angle, HBorder, VBorder, HSpeed, VSpeed, Object, Visible, XPort, YPort, WPort, HPort, Camera, SurfaceID }
(1, 2);
371
        }
372
        if (!instance_exists(obj_steamworks_22_energy_ball_fake_2))
373
        {
374
            cutscene_npc_action_sprite(1166, 3170, 1, true, 0);
375
            obj_axis_npc.npc_dynamic_depth = false;
376
            obj_axis_npc.depth = -999;
377
        }
378
        break;
379
    case 63:
380
        cutscene_wait(3);
381
        break;
382
    case 64:
383
        cutscene_dialogue();
384
        with (msg)
385
        {
386
            talker[0] = 1166;
387
            talker[1] = 1161;
388
            talker[2] = 1166;
389
            message[0] = "* I AM IMMOBILE.";
390
            message[1] = "* If you went with our#  surprise, it wouldn't#  have gotten messy.";
391
            message[2] = "* DO NOT MOCK MY#  JUDGMENT.";
392
            message[3] = "* I WILL RETURN TO#  CAPTURE YOU.";
393
            message[4] = "* ...WITH NEW HANDS.";
394
            prt[0] = 3332;
395
            prt[1] = 377;
396
            prt[2] = 473;
397
            prt[3] = 473;
398
            prt[4] = 473;
399
        }
400
        break;
401
    case 65:
402
        cutscene_wait(0.5);
403
        break;
404
    case 66:
405
        cutscene_npc_action_sprite(1166, 3571, 1, true, 0, 60, 0);
406
        break;
407
    case 67:
408
        cutscene_npc_action_sprite(1166, 3319, 1, false, 0);
409
        cutscene_advance();
410
        break;
411
    case 68:
412
        obj_axis_npc.x += 1;
413
        if (obj_axis_npc.x > 340)
414
            cutscene_advance();
415
        break;
416
    case 69:
417
        cutscene_wait(0.5);
418
        break;
419
    case 70:
420
        cutscene_npc_action_sprite(1161, 3168, 1, false, 0);
421
        break;
422
    case 71:
423
        cutscene_npc_direction(1161, "left");
424
        break;
425
    case 72:
426
        cutscene_dialogue();
427
        with (msg)
428
        {
429
            talker[0] = 1161;
430
            message[0] = "* Phew, I'm spent.";
431
            message[1] = "* Next chair we see, I'm#  taking a breather.";
432
            prt[0] = 377;
433
            prt[1] = 394;
434
        }
435
        break;
436
    case 73:
437
        cutscene_npc_walk(1161, obj_ceroba_npc.x, obj_steamworks_13_robuild_complete.y + 20, 3, "x", "left", -4, obj_steamworks_13_robuild_complete.x, obj_steamworks_13_robuild_complete.y + 20);
438
        break;
439
    case 74:
440
        obj_ceroba_npc.action_sprite = true;
441
        obj_ceroba_npc.sprite_index = spr_ceroba_up_walk;
442
        obj_ceroba_npc.image_speed = 0.2;
443
        cutscene_advance();
444
        break;
445
    case 75:
446
        cutscene_wait(0.75);
447
        break;
448
    case 76:
449
        instance_destroy(obj_steamworks_13_robuild_complete);
450
        cutscene_advance();
451
        break;
452
    case 77:
453
        cutscene_npc_reset_sprite(1161, "left");
454
        break;
455
    case 78:
456
        cutscene_sfx_play(319, 1);
457
        break;
458
    case 79:
459
        cutscene_npc_walk(1161, obj_pl.x + 30, obj_pl.y, 3, "x", "left");
460
        break;
461
    case 80:
462
        actor_follower = 1161;
463
        cutscene_actor_into_follower();
464
        with (global.party_member)
465
            sprite_index = left_sprite_idle;
466
        break;
467
    case 81:
468
        instance_destroy(obj_axis_npc);
469
        instance_destroy(dynamic_wall);
470
        global.sworks_flag[13] = 2;
471
        cutscene_end();
472
        break;
473
}
474
if (scene >= 28 && energy_ball_deflect_noloop == true)
475
{
476
    if (instance_exists(obj_steamworks_22_energy_ball_fake_2))
477
    {
478
        if (obj_steamworks_22_energy_ball_fake_2.y < 50)
479
        {
480
            instance_destroy(obj_steamworks_22_energy_ball_fake_2);
481
            audio_play_sound(snd_axis_energy_ball_explode, 1, 0);
482
            scr_screenshake
scr_screenshake

function scr_screenshake(arg0, arg1) { if (instance_exists(obj_screenshake_player)) exit; with (instance_create(__view_get(e__VW.Object, 0).x, __view_get(e__VW.Object, 0).y, obj_screenshake_player)) { alarm[0]
gml_Object_obj_steamworks_22_controller_pacifist_Alarm_0.gml

layer_set_visible("asset_glass_flash", false);
intensity = arg1; } } enum e__VW { XView, YView, WView, HView, Angle, HBorder, VBorder, HSpeed, VSpeed, Object, Visible, XPort, YPort, WPort, HPort, Camera, SurfaceID }
(8, 2);
483
        }
484
    }
485
}