Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_cutscene_steamworks_12_geno_Step_0

(view raw script w/o annotations or w/e)
1
if (live_call())
2
    return global.live_result;
3
var axis_talknoise = 111;
4
audio_sound_pitch(axis_talknoise, axis_pitch);
5
switch (scene)
6
{
7
    case 0:
8
        if (obj_pl.x < 280)
9
        {
10
            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; }
();
11
            cutscene_advance(0.25);
12
        }
13
        break;
14
    case 0.25:
15
        cutscene_instance_create(obj_pl.x, obj_pl.y, 1168);
16
        cutscene_advance(0.5);
17
        break;
18
    case 0.5:
19
        if (cutscene_npc_walk(1168, obj_player_npc.x, 160, 3, "y", "left"))
20
            cutscene_advance(1);
21
        break;
22
    case 1:
23
        cutscene_wait(0.5);
24
        break;
25
    case 2:
26
        cutscene_camera_move(190, obj_pl.y, 1, false);
27
        break;
28
    case 3:
29
        cutscene_audio_fade(obj_radio.current_song, 0, 300, 0.25, false, true);
30
        break;
31
    case 4:
32
        cutscene_wait(1);
33
        break;
34
    case 5:
35
        tile_layer_hide(-1000);
36
        cutscene_advance();
37
        break;
38
    case 6:
39
        cutscene_sfx_play(270, 0.8);
40
        break;
41
    case 7:
42
        cutscene_screenshake(0.5, 3);
43
        break;
44
    case 8:
45
        cutscene_wait(0.5);
46
        break;
47
    case 9:
48
        cutscene_music_start(219);
49
        break;
50
    case 10:
51
        cutscene_npc_walk(1166, 190, obj_pl.y, 4, "y", "right", false);
52
        break;
53
    case 11:
54
        if (cutscene_dialogue())
55
        {
56
            with (obj_pl)
57
                scr_axis_clover_scan
scr_axis_clover_scan

function scr_axis_clover_scan() { if (live_call()) return global.live_result; var width = sprite_get_width(sprite_index); var height = sprite_get_height(sprite_index); i_inc = width / 20; j_inc = 1; var x_left = x - sprite_xoffset; var y_top = (y + sprite_yoffset) - sprite_height; for (var j = 0; j < height; j += j_inc) { part = instance_create(x_left, y_top + j, obj_piece_clover_scan); with (part) { target_x = other.x; target_y = other.y; depth = other.depth - 1; left = 0; top = j; self.width = width; self.height = other.j_inc; sprite_index = other.sprite_index;alarm[0] if (j == 0) event_perform(ev_alarm, 0); } } }
();
58
        }
59
        with (msg)
60
        {
61
            color = true;
62
            col_modif[0] = 16711935;
63
            col_modif[1] = 16711935;
64
            talker[0] = 1166;
65
            message[0] = "* AXIS MODEL 014 READY TO#  GUARD AND PROTECT.";
66
            message_col[0][1] = "  AXIS                                        ";
67
            message[1] = "* VANDAL SPOTTED.#  STEAMWORKS: EASTERN#  BRANCH.";
68
            message[2] = "* SCANNING_";
69
            message_col[2][0] = "* SCANNING_";
70
            prt[0] = 473;
71
            prt[1] = 473;
72
        }
73
        break;
74
    case 12:
75
        if (global.dialogue_open)
76
            exit;
77
        cutscene_sfx_play(271, 1);
78
        audio_sound_pitch(snd_elevator, 2);
79
        break;
80
    case 13:
81
        cutscene_wait(3);
82
        break;
83
    case 14:
84
        cutscene_dialogue();
85
        with (msg)
86
        {
87
            color = true;
88
            col_modif[0] = 16711935;
89
            talker[0] = 1166;
90
            message[0] = "* HUMAN DETECTED_";
91
            message_col[0][0] = "* HUMAN DETECTED_";
92
            message[1] = "* WAIT. . .";
93
            message[2] = "* THIS IS FAMILIAR.";
94
            message[3] = "* ACCESSING MEMORY BANK_";
95
            message_col[3][0] = "* ACCESSING MEMORY BANK_";
96
            prt[1] = 473;
97
            prt[2] = 473;
98
        }
99
        break;
100
    case 15:
101
        if (global.dialogue_open == true)
102
            exit;
103
        cutscene_sfx_play(364, 1);
104
        break;
105
    case 16:
106
        cutscene_wait(1);
107
        break;
108
    case 17:
109
        cutscene_dialogue();
110
        with (msg)
111
        {
112
            color = true;
113
            col_modif[0] = 16711935;
114
            talker[0] = 1166;
115
            message[0] = "* MEMORY BANK BLOCKED_";
116
            message_col[0][0] = "* MEMORY BANK BLOCKED_";
117
            message[1] = "* HM.";
118
            message[2] = "* WELL. IT MATTERS NOT.";
119
            message[3] = "* THREAT DIAGNOSIS_";
120
            message_col[3][0] = "* THREAT DIAGNOSIS_";
121
            prt[1] = 473;
122
            prt[2] = 473;
123
        }
124
        break;
125
    case 18:
126
        cutscene_wait(1);
127
        break;
128
    case 19:
129
        cutscene_dialogue();
130
        with (msg)
131
        {
132
            color = true;
133
            col_modif[0] = 255;
134
            talker[0] = 1166;
135
            message[0] = "* . . .";
136
            message[1] = "* THREAT LEVEL: 10_";
137
            message[2] = "* EMPATHY: BYPASSED_";
138
            prt[0] = 473;
139
            message_col[1][0] = "* THREAT LEVEL: 10_";
140
            message_col[2][0] = "* EMPATHY: BYPASSED_";
141
            switch (message_current)
142
            {
143
                case 0:
144
                    noloop_message = 0;
145
                    break;
146
                case 1:
147
                    if (noloop_message < message_current)
148
                    {
149
                        noloop_message = message_current;
150
                        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] intensity = arg1; } } enum e__VW { XView, YView, WView, HView, Angle, HBorder, VBorder, HSpeed, VSpeed, Object, Visible, XPort, YPort, WPort, HPort, Camera, SurfaceID }
(6, 2);
151
                        audio_play_sound(snd_guardener_level10, 1, 0);
152
                        audio_stop_sound(other.cutscene_music);
153
                        obj_axis_npc.right_sprite_idle = 107;
154
                        other.axis_pitch = 0.8;
155
                    }
156
                    break;
157
            }
158
        }
159
        break;
160
    case 20:
161
        cutscene_wait(0.5);
162
        break;
163
    case 21:
164
        cutscene_dialogue();
165
        with (msg)
166
        {
167
            talker[0] = 1166;
168
            message[0] = "* WELCOME TO THE#  STEAMWORKS, HUMAN.";
169
            message[1] = "* THINGS HAVEN'T BEEN#  GOING YOUR WAY, HAVE#  THEY?";
170
            message[2] = "* I'M AFRAID WHAT YOU ARE#  AFTER HAS. . .";
171
            message[3] = "* . . .EXPIRED.";
172
            message[4] = "* FIVE SOULS ARE ALL THAT#  WAIT FOR YOU IF YOU#  REACH THE CASTLE.";
173
            message[5] = "* BUT I'M GUESSING YOU#  PIECED THAT TOGETHER#  ALREADY.";
174
            message[6] = "* IT IS INTERESTING. . .";
175
            message[7] = "* HUMANS AND MONSTERS,#  WHILE DIFFERENT, DO#  SHARE ONE THING.";
176
            message[8] = "* A HUNGER FOR THE SOUL#  OF THE OTHER.";
177
            message[9] = "* I SUPPOSE THAT IS NO#  DIFFERENT HERE.";
178
            message[10] = "* MY USUAL PROTOCOL CALLS#  FOR MERE APPREHENSION#  BUT. . .";
179
            message[11] = "* YOUR THREAT LEVEL#  PERMITS ME TO INITIATE#  ATTACK.";
180
            prt[0] = 473;
181
            prt[1] = 473;
182
            prt[2] = 473;
183
            prt[3] = 473;
184
            prt[4] = 473;
185
            prt[5] = 473;
186
            prt[6] = 473;
187
            prt[7] = 473;
188
            prt[8] = 473;
189
            prt[9] = 473;
190
            prt[10] = 473;
191
            prt[11] = 473;
192
        }
193
        break;
194
    case 22:
195
        cutscene_npc_action_sprite(1166, 1554, 1, false);
196
        obj_axis_npc.right_sprite_idle = 385;
197
        break;
198
    case 23:
199
        cutscene_wait(0.5);
200
        break;
201
    case 24:
202
        cutscene_dialogue();
203
        with (msg)
204
        {
205
            talker[0] = 1166;
206
            message[0] = "* STAND DOWN, HUMAN. IT#  WILL ALL BE OVER SOON.";
207
            prt[0] = 473;
208
        }
209
        break;
210
    case 25:
211
        cutscene_wait(0.75);
212
        break;
213
    case 26:
214
        cutscene_battle_initiate("axis", true, false);
215
        obj_heart_initiate_battle.flash_delay = 5;
216
        obj_pl.image_alpha = 1;
217
        break;
218
    case 27:
219
        if (instance_exists(obj_heart_initiate_battle_2))
220
        {
221
            instance_destroy(obj_blackout_overworld_2);
222
            instance_destroy(obj_heart_initiate_battle_2);
223
            obj_pl.direction = 180;
224
            obj_pl.image_alpha = 0;
225
            cutscene_advance();
226
        }
227
        break;
228
    case 28:
229
        cutscene_npc_action_sprite(1168, 316, 1, true, 0, 352, 8);
230
        if (obj_player_npc.image_index >= 8)
231
        {
232
            if (obj_axis_npc.sprite_index != spr_axis_redeyes_shot)
233
            {
234
                obj_axis_npc.sprite_index = spr_axis_redeyes_shot;
235
                obj_axis_npc.action_sprite = true;
236
                obj_axis_npc.image_index = 0;
237
                obj_axis_npc.image_speed = 1;
238
                other.axis_pitch = 1;
239
                cutscene_advance(29);
240
            }
241
        }
242
        break;
243
    case 29:
244
        if (!variable_instance_exists(id, "shoot_noloop"))
245
            shoot_noloop = 0;
246
        with (obj_axis_npc)
247
        {
248
            if (action_sprite == true)
249
            {
250
                var i = floor(image_index);
251
                switch (i)
252
                {
253
                    case 0:
254
                    case 5:
255
                    case 9:
256
                        if (other.shoot_noloop < i)
257
                        {
258
                            other.shoot_noloop = i;
259
                            obj_player_npc.image_index = 7;
260
                            obj_player_npc.image_speed = 1;
261
                            audio_play_sound(snd_revolver_shoot, 1, 0);
262
                        }
263
                        break;
264
                }
265
                if (image_index >= (image_number - 0.5))
266
                {
267
                    sprite_index = spr_axis_redeyes_shot_flyback;
268
                    hspeed = -8;
269
                }
270
            }
271
        }
272
        if (obj_player_npc.image_index >= 10)
273
        {
274
            obj_player_npc.image_speed = 0;
275
            if (shoot_noloop >= 9)
276
                cutscene_advance();
277
        }
278
        break;
279
    case 30:
280
        if (obj_axis_npc.x <= 104)
281
        {
282
            obj_axis_npc.x = 104;
283
            obj_axis_npc.hspeed = false;
284
            obj_axis_npc.sprite_index = spr_axis_redeyes_shot_slam;
285
            obj_axis_npc.image_speed = 1;
286
            obj_axis_npc.image_index = 0;
287
            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] intensity = arg1; } } enum e__VW { XView, YView, WView, HView, Angle, HBorder, VBorder, HSpeed, VSpeed, Object, Visible, XPort, YPort, WPort, HPort, Camera, SurfaceID }
(6, 2);
288
            audio_play_sound(snd_undertale_impact, 1, 0);
289
            cutscene_advance();
290
        }
291
        break;
292
    case 31:
293
        if (obj_axis_npc.image_index >= (obj_axis_npc.image_number - 1))
294
        {
295
            obj_axis_npc.image_speed = 0;
296
            obj_axis_npc.image_index = obj_axis_npc.image_number - 1;
297
            cutscene_advance();
298
        }
299
        break;
300
    case 32:
301
        cutscene_wait(1);
302
        break;
303
    case 33:
304
        obj_player_npc.image_speed = 1;
305
        if (obj_player_npc.image_index >= (obj_player_npc.image_number - 1))
306
        {
307
            obj_player_npc.action_sprite = false;
308
            cutscene_advance();
309
        }
310
        break;
311
    case 34:
312
        cutscene_wait(1);
313
        break;
314
    case 35:
315
        cutscene_npc_walk_relative(1168, -100, 0, 1, "x", "left");
316
        break;
317
    case 36:
318
        cutscene_npc_set_sprites(1166, 2592, 383, 2749, 3415, 2592, 383, 2749, 3415);
319
        break;
320
    case 37:
321
        if (cutscene_npc_action_sprite(1166, 1415, 1, false))
322
            obj_axis_npc.x -= 29;
323
        break;
324
    case 38:
325
        cutscene_dialogue();
326
        with (msg)
327
        {
328
            talker[0] = 1166;
329
            color = true;
330
            col_modif[0] = 16711935;
331
            message[0] = "* AH. . .";
332
            message[1] = "* DAMAGE CRITICAL_";
333
            message_col[1][0] = "* DAMAGE CRITICAL_";
334
            message[2] = "* t-zzz THReAT . ..";
335
            message_col[2][0] = "* t-zzz THReAT . ..";
336
            message[3] = "* thReat L-LeVEL 99;99#  9999 99_9. .";
337
            message_col[3][0] = "* thReat L-LeVEL 99;99#  9999 99_9. .";
338
            message[4] = "* . . .";
339
            prt[0] = 3282;
340
            prt[4] = 3282;
341
        }
342
        break;
343
    case 39:
344
        cutscene_npc_walk(1166, 280, 180, 2, "y", "right");
345
        if (obj_axis_npc.x > (obj_player_npc.x - 40))
346
            obj_player_npc.npc_direction = "down";
347
        if (obj_axis_npc.x > (obj_player_npc.x + 40))
348
            obj_player_npc.npc_direction = "right";
349
        break;
350
    case 40:
351
        cutscene_npc_walk(1166, 280, obj_player_npc.y, 2, "y", "right");
352
        break;
353
    case 41:
354
        cutscene_wait(1);
355
        break;
356
    case 42:
357
        cutscene_dialogue();
358
        with (msg)
359
        {
360
            talker[0] = 1166;
361
            message[0] = "* I REMEMB3R NOW.. . ..";
362
            message[1] = "* . . .";
363
            message[2] = "* THe 0THERS.. .";
364
            message[3] = "* I MUST EVaCUATE . .";
365
            prt[0] = 3282;
366
            prt[1] = 3282;
367
            prt[2] = 3282;
368
            prt[3] = 3282;
369
        }
370
        break;
371
    case 43:
372
        cutscene_npc_action_sprite(1168, 3295, 1, false);
373
        if (obj_player_npc.image_index >= 6)
374
        {
375
            obj_player_npc.image_speed = 0;
376
            obj_player_npc.image_index = 11;
377
            cutscene_advance();
378
        }
379
        break;
380
    case 44:
381
        cutscene_wait(0.5);
382
        break;
383
    case 45:
384
        cutscene_npc_direction(1166, "left");
385
        break;
386
    case 46:
387
        cutscene_wait(0.5);
388
        break;
389
    case 47:
390
        audio_play_sound(snd_rock_break, 1, 0);
391
        cutscene_instance_create(obj_axis_npc.x, obj_axis_npc.y + 5, 2021);
392
        break;
393
    case 48:
394
        cutscene_wait(1);
395
        break;
396
    case 49:
397
        cutscene_sfx_play(401, 1);
398
        break;
399
    case 50:
400
        with (obj_axis_npc)
401
        {
402
            image_alpha -= 0.15;
403
            image_angle -= 15;
404
            if (image_alpha <= 0)
405
                other.scene += 1;
406
        }
407
        break;
408
    case 51:
409
        cutscene_wait(1.5);
410
        break;
411
    case 52:
412
        cutscene_advance();
413
        break;
414
    case 53:
415
        cutscene_wait(0.5);
416
        break;
417
    case 54:
418
        obj_player_npc.image_speed = 1;
419
        if (obj_player_npc.image_index >= (obj_player_npc.image_number - 1))
420
        {
421
            obj_player_npc.action_sprite = false;
422
            cutscene_advance();
423
        }
424
        break;
425
    case 55:
426
        cutscene_wait(0.5);
427
        break;
428
    case 56:
429
        obj_steamworks_12_trapdoor.image_index = 7;
430
        obj_steamworks_12_trapdoor.image_speed = -0.5;
431
        cutscene_advance();
432
    case 57:
433
        if (obj_steamworks_12_trapdoor.image_index <= 0.5)
434
        {
435
            obj_steamworks_12_trapdoor.image_index = 0;
436
            obj_steamworks_12_trapdoor.image_speed = 0;
437
            cutscene_advance();
438
        }
439
        break;
440
    case 58:
441
        cutscene_camera_move(obj_pl.x, obj_pl.y, 3);
442
        break;
443
    case 59:
444
        cutscene_end();
445
        cutscene_camera_reset();
446
        instance_destroy(obj_axis_npc);
447
        scr_radio_restart
scr_radio_restart

function scr_radio_restart() { with (obj_radio) event_user(0); }
();
448
        global.sworks_flag[3] = 1;
449
        break;
450
}