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 = snd_talk_axis
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() //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 }
()
11
            cutscene_advance(0.25)
12
        }
13
        break
14
    case 0.25:
15
        cutscene_instance_create(obj_pl.x, obj_pl.y, obj_player_npc)
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(snd_elevator_start, 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() //gml_Script_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 = spr_collisionbox; 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 width = width height = other.j_inc sprite_index = other.sprite_index alarm[0] if (j == spr_collisionbox) 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
            return;
77
        cutscene_sfx_play(snd_elevator, 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
            return;
103
        cutscene_sfx_play(snd_fail, 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(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] intensity = argument1 } }
(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
        }
160
        break
161
    case 20:
162
        cutscene_wait(0.5)
163
        break
164
    case 21:
165
        cutscene_dialogue()
166
        with (msg)
167
        {
168
            talker[0] = 1166
169
            message[0] = "* WELCOME TO THE#  STEAMWORKS, HUMAN."
170
            message[1] = "* THINGS HAVEN'T BEEN#  GOING YOUR WAY, HAVE#  THEY?"
171
            message[2] = "* I'M AFRAID WHAT YOU ARE#  AFTER HAS. . ."
172
            message[3] = "* . . .EXPIRED."
173
            message[4] = "* FIVE SOULS ARE ALL THAT#  WAIT FOR YOU IF YOU#  REACH THE CASTLE."
174
            message[5] = "* BUT I'M GUESSING YOU#  PIECED THAT TOGETHER#  ALREADY."
175
            message[6] = "* IT IS INTERESTING. . ."
176
            message[7] = "* HUMANS AND MONSTERS,#  WHILE DIFFERENT, DO#  SHARE ONE THING."
177
            message[8] = "* A HUNGER FOR THE SOUL#  OF THE OTHER."
178
            message[9] = "* I SUPPOSE THAT IS NO#  DIFFERENT HERE."
179
            message[10] = "* MY USUAL PROTOCOL CALLS#  FOR MERE APPREHENSION#  BUT. . ."
180
            message[11] = "* YOUR THREAT LEVEL#  PERMITS ME TO INITIATE#  ATTACK."
181
            prt[0] = 473
182
            prt[1] = 473
183
            prt[2] = 473
184
            prt[3] = 473
185
            prt[4] = 473
186
            prt[5] = 473
187
            prt[6] = 473
188
            prt[7] = 473
189
            prt[8] = 473
190
            prt[9] = 473
191
            prt[10] = 473
192
            prt[11] = 473
193
        }
194
        break
195
    case 22:
196
        cutscene_npc_action_sprite(1166, 1554, 1, false)
197
        obj_axis_npc.right_sprite_idle = 385
198
        break
199
    case 23:
200
        cutscene_wait(0.5)
201
        break
202
    case 24:
203
        cutscene_dialogue()
204
        with (msg)
205
        {
206
            talker[0] = 1166
207
            message[0] = "* STAND DOWN, HUMAN. IT#  WILL ALL BE OVER SOON."
208
            prt[0] = 473
209
        }
210
        break
211
    case 25:
212
        cutscene_wait(0.75)
213
        break
214
    case 26:
215
        cutscene_battle_initiate("axis", true, false)
216
        obj_heart_initiate_battle.flash_delay = 5
217
        obj_pl.image_alpha = 1
218
        break
219
    case 27:
220
        if instance_exists(obj_heart_initiate_battle_2)
221
        {
222
            instance_destroy(obj_blackout_overworld_2)
223
            instance_destroy(obj_heart_initiate_battle_2)
224
            obj_pl.direction = 180
225
            obj_pl.image_alpha = 0
226
            cutscene_advance()
227
        }
228
        break
229
    case 28:
230
        cutscene_npc_action_sprite(1168, 316, 1, true, 0, 352, 8)
231
        if (obj_player_npc.image_index >= 8)
232
        {
233
            if (obj_axis_npc.sprite_index != spr_axis_redeyes_shot)
234
            {
235
                obj_axis_npc.sprite_index = spr_axis_redeyes_shot
236
                obj_axis_npc.action_sprite = true
237
                obj_axis_npc.image_index = 0
238
                obj_axis_npc.image_speed = 1
239
                other.axis_pitch = 1
240
                cutscene_advance(29)
241
            }
242
        }
243
        break
244
    case 29:
245
        if (!(variable_instance_exists(id, "shoot_noloop")))
246
            shoot_noloop = 0
247
        with (obj_axis_npc)
248
        {
249
            if (action_sprite == true)
250
            {
251
                var i = floor(image_index)
252
                switch i
253
                {
254
                    case 0:
255
                    case 5:
256
                    case 9:
257
                        if (other.shoot_noloop < i)
258
                        {
259
                            other.shoot_noloop = i
260
                            obj_player_npc.image_index = 7
261
                            obj_player_npc.image_speed = 1
262
                            audio_play_sound(snd_revolver_shoot, 1, 0)
263
                        }
264
                        break
265
                }
266
267
                if (image_index >= (image_number - 0.5))
268
                {
269
                    sprite_index = spr_axis_redeyes_shot_flyback
270
                    hspeed = -8
271
                }
272
            }
273
        }
274
        if (obj_player_npc.image_index >= 10)
275
        {
276
            obj_player_npc.image_speed = 0
277
            if (shoot_noloop >= 9)
278
                cutscene_advance()
279
        }
280
        break
281
    case 30:
282
        if (obj_axis_npc.x <= 104)
283
        {
284
            obj_axis_npc.x = 104
285
            obj_axis_npc.hspeed = false
286
            obj_axis_npc.sprite_index = spr_axis_redeyes_shot_slam
287
            obj_axis_npc.image_speed = 1
288
            obj_axis_npc.image_index = 0
289
            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] intensity = argument1 } }
(6, 2)
290
            audio_play_sound(snd_undertale_impact, 1, 0)
291
            cutscene_advance()
292
        }
293
        break
294
    case 31:
295
        if (obj_axis_npc.image_index >= (obj_axis_npc.image_number - 1))
296
        {
297
            obj_axis_npc.image_speed = 0
298
            obj_axis_npc.image_index = obj_axis_npc.image_number - 1
299
            cutscene_advance()
300
        }
301
        break
302
    case 32:
303
        cutscene_wait(1)
304
        break
305
    case 33:
306
        obj_player_npc.image_speed = 1
307
        if (obj_player_npc.image_index >= (obj_player_npc.image_number - 1))
308
        {
309
            obj_player_npc.action_sprite = false
310
            cutscene_advance()
311
        }
312
        break
313
    case 34:
314
        cutscene_wait(1)
315
        break
316
    case 35:
317
        cutscene_npc_walk_relative(1168, -100, 0, 1, "x", "left")
318
        break
319
    case 36:
320
        cutscene_npc_set_sprites(obj_axis_npc, 2592, 383, 2749, 3415, 2592, 383, 2749, 3415)
321
        break
322
    case 37:
323
        if cutscene_npc_action_sprite(1166, 1415, 1, false)
324
            obj_axis_npc.x -= 29
325
        break
326
    case 38:
327
        cutscene_dialogue()
328
        with (msg)
329
        {
330
            talker[0] = 1166
331
            color = true
332
            col_modif[0] = 16711935
333
            message[0] = "* AH. . ."
334
            message[1] = "* DAMAGE CRITICAL_"
335
            message_col[1][0] = "* DAMAGE CRITICAL_"
336
            message[2] = "* t-zzz THReAT . .."
337
            message_col[2][0] = "* t-zzz THReAT . .."
338
            message[3] = "* thReat L-LeVEL 99;99#  9999 99_9. ."
339
            message_col[3][0] = "* thReat L-LeVEL 99;99#  9999 99_9. ."
340
            message[4] = "* . . ."
341
            prt[0] = 3282
342
            prt[4] = 3282
343
        }
344
        break
345
    case 39:
346
        cutscene_npc_walk(1166, 280, 180, 2, "y", "right")
347
        if (obj_axis_npc.x > (obj_player_npc.x - 40))
348
            obj_player_npc.npc_direction = "down"
349
        if (obj_axis_npc.x > (obj_player_npc.x + 40))
350
            obj_player_npc.npc_direction = "right"
351
        break
352
    case 40:
353
        cutscene_npc_walk(1166, 280, obj_player_npc.y, 2, "y", "right")
354
        break
355
    case 41:
356
        cutscene_wait(1)
357
        break
358
    case 42:
359
        cutscene_dialogue()
360
        with (msg)
361
        {
362
            talker[0] = 1166
363
            message[0] = "* I REMEMB3R NOW.. . .."
364
            message[1] = "* . . ."
365
            message[2] = "* THe 0THERS.. ."
366
            message[3] = "* I MUST EVaCUATE . ."
367
            prt[0] = 3282
368
            prt[1] = 3282
369
            prt[2] = 3282
370
            prt[3] = 3282
371
        }
372
        break
373
    case 43:
374
        cutscene_npc_action_sprite(1168, 3295, 1, false)
375
        if (obj_player_npc.image_index >= 6)
376
        {
377
            obj_player_npc.image_speed = 0
378
            obj_player_npc.image_index = 11
379
            cutscene_advance()
380
        }
381
        break
382
    case 44:
383
        cutscene_wait(0.5)
384
        break
385
    case 45:
386
        cutscene_npc_direction(obj_axis_npc, "left")
387
        break
388
    case 46:
389
        cutscene_wait(0.5)
390
        break
391
    case 47:
392
        audio_play_sound(snd_rock_break, 1, 0)
393
        cutscene_instance_create(obj_axis_npc.x, (obj_axis_npc.y + 5), obj_steamworks_12_trapdoor)
394
        break
395
    case 48:
396
        cutscene_wait(1)
397
        break
398
    case 49:
399
        cutscene_sfx_play(snd_decibatfall, 1)
400
        break
401
    case 50:
402
        with (obj_axis_npc)
403
        {
404
            image_alpha -= 0.15
405
            image_angle -= 15
406
            if (image_alpha <= 0)
407
                other.scene += 1
408
        }
409
        break
410
    case 51:
411
        cutscene_wait(1.5)
412
        break
413
    case 52:
414
        cutscene_advance()
415
        break
416
    case 53:
417
        cutscene_wait(0.5)
418
        break
419
    case 54:
420
        obj_player_npc.image_speed = 1
421
        if (obj_player_npc.image_index >= (obj_player_npc.image_number - 1))
422
        {
423
            obj_player_npc.action_sprite = false
424
            cutscene_advance()
425
        }
426
        break
427
    case 55:
428
        cutscene_wait(0.5)
429
        break
430
    case 56:
431
        obj_steamworks_12_trapdoor.image_index = 7
432
        obj_steamworks_12_trapdoor.image_speed = -0.5
433
        cutscene_advance()
434
    case 57:
435
        if (obj_steamworks_12_trapdoor.image_index <= 0.5)
436
        {
437
            obj_steamworks_12_trapdoor.image_index = 0
438
            obj_steamworks_12_trapdoor.image_speed = 0
439
            cutscene_advance()
440
        }
441
        break
442
    case 58:
443
        cutscene_camera_move(obj_pl.x, obj_pl.y, 3)
444
        break
445
    case 59:
446
        cutscene_end()
447
        cutscene_camera_reset()
448
        instance_destroy(obj_axis_npc)
449
        scr_radio_restart
scr_radio_restart

function scr_radio_restart() //gml_Script_scr_radio_restart { with (obj_radio) event_user(0) }
()
450
        global.sworks_flag[3] = 1
451
        break
452
}