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() //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 }
()
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
alarm[0]

layer_set_visible("asset_glass_flash", false)
25
            scr_screenshake
scr_screenshake

function scr_screenshake(argument0, argument1) //gml_Script_scr_screenshake { if instance_exists(obj_screenshake_player) return; with (instance_create(__view_get((9 << 0), 0).x, __view_get((9 << 0), 0).y, obj_screenshake_player)) { alarm[0]
alarm[0]

layer_set_visible("asset_glass_flash", false)
intensity = argument1 } }
(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(obj_ceroba_npc, "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, part_steamworks_22_glass)
47
        break
48
    case 8:
49
        cutscene_wait(1)
50
        break
51
    case 9:
52
        cutscene_instance_create(1690, 40, obj_axis_npc)
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(obj_ceroba_npc, 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() //gml_Script_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(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 }
(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(obj_ceroba_npc, "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(obj_player_npc, "right")
143
        break
144
    case 25:
145
        cutscene_sfx_play(snd_undertale_appear, 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, obj_axis_npc)
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), obj_steamworks_13_robuild_complete)
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(argument0, argument1, argument2) //gml_Script_scr_music_sudden_stop { with (instance_create(0, 0, obj_audio_sudden_stop_helper)) { audio_to_fade = argument0 fade_strength = argument1 / 100 audio_stop = argument2 if (audio_stop == false) audio_resume_sound(argument0) } }
(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(argument0, argument1, argument2) //gml_Script_scr_music_sudden_stop { with (instance_create(0, 0, obj_audio_sudden_stop_helper)) { audio_to_fade = argument0 fade_strength = argument1 / 100 audio_stop = argument2 if (audio_stop == false) audio_resume_sound(argument0) } }
(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, obj_ceroba_shield)
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(argument0, argument1) //gml_Script_scr_screenshake { if instance_exists(obj_screenshake_player) return; with (instance_create(__view_get((9 << 0), 0).x, __view_get((9 << 0), 0).y, obj_screenshake_player)) { alarm[0]
alarm[0]

layer_set_visible("asset_glass_flash", false)
intensity = argument1 } }
(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(obj_ceroba_npc, "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(snd_steamworks_13_robot, 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
475
if (scene >= 28 && energy_ball_deflect_noloop == true)
476
{
477
    if instance_exists(obj_steamworks_22_energy_ball_fake_2)
478
    {
479
        if (obj_steamworks_22_energy_ball_fake_2.y < 50)
480
        {
481
            instance_destroy(obj_steamworks_22_energy_ball_fake_2)
482
            audio_play_sound(snd_axis_energy_ball_explode, 1, 0)
483
            scr_screenshake
scr_screenshake

function scr_screenshake(argument0, argument1) //gml_Script_scr_screenshake { if instance_exists(obj_screenshake_player) return; with (instance_create(__view_get((9 << 0), 0).x, __view_get((9 << 0), 0).y, obj_screenshake_player)) { alarm[0]
alarm[0]

layer_set_visible("asset_glass_flash", false)
intensity = argument1 } }
(8, 2)
484
        }
485
    }
486
}