Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_factory_02_controller_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
        break;
7
    case 1:
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
        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; }
(obj_radio.current_song, 750);
10
        cutscene_sfx_play(657, 1);
11
        break;
12
    case 2:
13
        cutscene_wait(0.5);
14
        break;
15
    case 3:
16
        cutscene_camera_move(270, 570, 2);
17
        break;
18
    case 4:
19
        cutscene_wait(1.5);
20
        break;
21
    case 5:
22
        cutscene_sfx_play(318, 1);
23
        obj_steamworks_factory_02_face.sprite_index = spr_steamworks_38_face_hello;
24
        break;
25
    case 6:
26
        cutscene_wait(2);
27
        break;
28
    case 7:
29
        cutscene_music_start(65, 0);
30
        break;
31
    case 8:
32
        if (obj_steamworks_factory_02_face.sprite_index != spr_steamworks_38_face_talking)
33
        {
34
            obj_steamworks_factory_02_face.sprite_index = spr_steamworks_38_face_talking;
35
            obj_steamworks_factory_02_face.image_index = 0;
36
        }
37
        cutscene_dialogue_special("swirl", 65280);
38
        with (msg)
39
        {
40
            message[0] = "* Gooood morning Steamworks#  employees!!!";
41
            message[1] = "* Hope you're ready for another#  day of pa-ro-duc-tivity!!!";
42
            message[2] = "* Today we are boxing and#  shipping goods out into the#  Underground!!!";
43
            position = 0;
44
        }
45
        break;
46
    case 9:
47
        cutscene_follower_into_actor();
48
        break;
49
    case 10:
50
        cutscene_npc_walk(actor_follower, 360, actor_follower.y, 4, "y", "up", -4, 220, 730, 220, 680);
51
        break;
52
    case 11:
53
        cutscene_dialogue();
54
        with (msg)
55
        {
56
            talker[0] = 1161;
57
            message[0] = "* Uh, hello?";
58
            message[1] = "* Are you sentient or a#  pre-recording?";
59
            prt[0] = 381;
60
            prt[1] = 370;
61
        }
62
        break;
63
    case 12:
64
        cutscene_dialogue_special("swirl", 65280);
65
        with (msg)
66
        {
67
            message[0] = "* Hello new hire!";
68
            message[1] = "* Yes, I am fully sentient!";
69
            message[2] = "* Trapped in this two-dimensional#  rectangle for all eternity!!!";
70
            position = 0;
71
        }
72
        break;
73
    case 13:
74
        cutscene_dialogue();
75
        with (msg)
76
        {
77
            talker[0] = 1161;
78
            message[0] = "* Right...";
79
            message[1] = "* Can you unlock all the#  doors in this factory?";
80
            message[2] = "* We're in a hurry.";
81
            prt[0] = 382;
82
            prt[1] = 370;
83
            prt[2] = 377;
84
        }
85
        break;
86
    case 14:
87
        cutscene_dialogue_special("swirl", 65280);
88
        with (msg)
89
        {
90
            message[0] = "* Sorry but each morning we do a#  little thing called:";
91
            message[1] = "* EARN! YOUR!! FREEDOM!!!";
92
            message[2] = "* Complete a full shipment and#  you'll be on your way!";
93
            if (message_current == 1)
94
                mode = "shake";
95
            else if (message_current == 2)
96
                mode = "swirl";
97
            position = 0;
98
        }
99
        break;
100
    case 15:
101
        cutscene_dialogue();
102
        with (msg)
103
        {
104
            talker[0] = 1161;
105
            message[0] = "* What kind of policy is#  that???";
106
            prt[0] = 368;
107
        }
108
        break;
109
    case 16:
110
        cutscene_dialogue_special("shake", 65280);
111
        with (msg)
112
        {
113
            message[0] = "* When there's a quota to meet,#  ethics go out the window!!";
114
            message[1] = "* Haven't you worked a job#  before???";
115
            if (message_current == 1)
116
                mode = "swirl";
117
            position = 0;
118
        }
119
        break;
120
    case 17:
121
        cutscene_dialogue();
122
        with (msg)
123
        {
124
            talker[0] = 1161;
125
            message[0] = "* Of course but I don't#  work here!";
126
            prt[0] = 384;
127
        }
128
        break;
129
    case 18:
130
        cutscene_dialogue_special("shake", 65280);
131
        with (msg)
132
        {
133
            message[0] = "* So you're trespassing???";
134
            message[1] = "* In that case...  ";
135
            if (message_current == 1)
136
            {
137
                skippable = false;
138
                if (can_skip)
139
                {
140
                    global.dialogue_open = false;
141
                    instance_destroy();
142
                    other.scene++;
143
                }
144
            }
145
            position = 0;
146
        }
147
        break;
148
    case 19:
149
        cutscene_dialogue();
150
        with (msg)
151
        {
152
            talker[0] = 1161;
153
            message[0] = "* Fine, we'll do the job!";
154
            message[1] = "* Clover, this bot might#  have connections to#  Axis.";
155
            message[2] = "* Seems we gotta do what#  it says to avoid#  unwanted attention.";
156
            message[3] = "* You can work this thing#  right?";
157
            message[4] = "* Push the start button#  and we'll get it over#  with.";
158
            prt[0] = 377;
159
            prt[1] = 370;
160
            prt[2] = 377;
161
            prt[3] = 370;
162
            prt[4] = 370;
163
            if (message_current == 1)
164
                obj_ceroba_npc.npc_direction = "right";
165
        }
166
        break;
167
    case 20:
168
        cutscene_npc_direction(1161, "up");
169
        break;
170
    case 21:
171
        cutscene_wait(0.5);
172
        break;
173
    case 22:
174
        cutscene_sfx_play(657, 1);
175
        break;
176
    case 23:
177
        cutscene_wait(0.5);
178
        break;
179
    case 24:
180
        cutscene_instance_create(0, 0, 652);
181
        break;
182
    case 25:
183
        obj_factory_02_conveyor_puzzle.conveyor_spawn_item = true;
184
        obj_conveyor_belt.image_speed = 1;
185
        cutscene_advance();
186
        break;
187
    case 26:
188
        if (!instance_exists(obj_factory_02_conveyor_item))
189
        {
190
            audio_sound_gain(cutscene_music, 0, 150);
191
            cutscene_wait(1);
192
        }
193
        break;
194
    case 27:
195
        cutscene_wait(1);
196
        break;
197
    case 28:
198
        obj_conveyor_belt.image_speed = 0;
199
        obj_conveyor_belt.image_index = 0;
200
        cutscene_dialogue_special("shake", 65280);
201
        with (msg)
202
        {
203
            message[0] = "* WHAT ARE YOU DOING???";
204
            message[1] = "* Put red items in red boxes and#  blue in blue boxes!";
205
            message[2] = "* Three strikes and yoooou're#  out!!!";
206
            if (message_current == 1)
207
                mode = "swirl";
208
            position = 0;
209
        }
210
        break;
211
    case 29:
212
        cutscene_dialogue();
213
        with (msg)
214
        {
215
            talker[0] = 1161;
216
            message[0] = "* Your machine's broken.";
217
            message[1] = "* The second conveyor#  belt doesn't move.";
218
            prt[0] = 377;
219
            prt[1] = 371;
220
        }
221
        break;
222
    case 30:
223
        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);
224
        cutscene_advance();
225
        break;
226
    case 31:
227
        cutscene_wait(1.5);
228
        break;
229
    case 32:
230
        cutscene_dialogue_special("default", 65280);
231
        with (msg)
232
        {
233
            message[0] = "* No.";
234
            position = 0;
235
        }
236
        break;
237
    case 33:
238
        cutscene_dialogue();
239
        with (msg)
240
        {
241
            talker[0] = 1161;
242
            message[0] = "* ...Yes?";
243
            message[1] = "* It's broke-";
244
            prt[0] = 371;
245
            prt[1] = 377;
246
            if (message_current == 1)
247
            {
248
                skippable = false;
249
                if (cutoff >= string_length(message[message_current]))
250
                {
251
                    global.dialogue_open = false;
252
                    instance_destroy();
253
                    other.scene++;
254
                }
255
            }
256
        }
257
        break;
258
    case 34:
259
        cutscene_dialogue_special("default", 65280);
260
        with (msg)
261
        {
262
            message[0] = "* No.";
263
            position = 0;
264
        }
265
        break;
266
    case 35:
267
        cutscene_dialogue();
268
        with (msg)
269
        {
270
            talker[0] = 1161;
271
            message[0] = "* ...";
272
            message[1] = "* Screw this.";
273
            prt[0] = 384;
274
            prt[1] = 384;
275
        }
276
        break;
277
    case 36:
278
        cutscene_npc_walk(actor_follower, 220, 645, 3, "x", "up");
279
        break;
280
    case 37:
281
        cutscene_wait(0.25);
282
        break;
283
    case 38:
284
        obj_ceroba_npc.action_sprite = true;
285
        obj_ceroba_npc.sprite_index = spr_ceroba_up_run;
286
        obj_ceroba_npc.image_index = 0;
287
        obj_ceroba_npc.image_speed = 0;
288
        cutscene_sfx_play(373, 1);
289
        break;
290
    case 39:
291
        obj_ceroba_npc.vspeed = -5;
292
        obj_ceroba_npc.y += obj_ceroba_npc.vspeed;
293
        if (obj_ceroba_npc.y < 590)
294
            scene++;
295
        break;
296
    case 40:
297
        obj_ceroba_npc.vspeed = 2;
298
        obj_ceroba_npc.y += obj_ceroba_npc.vspeed;
299
        if (obj_ceroba_npc.y > 603)
300
            scene++;
301
        break;
302
    case 41:
303
        obj_ceroba_npc.vspeed = 0;
304
        obj_ceroba_npc.action_sprite = false;
305
        obj_ceroba_npc.npc_direction = "up";
306
        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 }
(1, 1);
307
        cutscene_sfx_play(384, 1);
308
        break;
309
    case 42:
310
        cutscene_wait(1);
311
        break;
312
    case 43:
313
        cutscene_npc_direction(1161, "down");
314
        break;
315
    case 44:
316
        cutscene_dialogue();
317
        with (msg)
318
        {
319
            talker[0] = 1161;
320
            message[0] = "* Clover, you box the#  goods and I'll toss 'em#  into the chute.";
321
            message[1] = "* Teamwork, right? ";
322
            message[2] = "* Something like that.";
323
            message[3] = "* Let's give it a shot!";
324
            prt[0] = 370;
325
            prt[1] = 377;
326
            prt[2] = 371;
327
            prt[3] = 370;
328
        }
329
        break;
330
    case 45:
331
        obj_ceroba_npc.npc_direction = "right";
332
        cutscene_wait(1);
333
        break;
334
    case 46:
335
        cutscene_music_start(218, 100);
336
        obj_factory_02_conveyor_puzzle.conveyor_puzzle_activate = true;
337
        break;
338
    case 47:
339
        break;
340
    case 48:
341
        cutscene_wait(0.5);
342
        break;
343
    case 49:
344
        cutscene_camera_move(640, 570, 3);
345
        break;
346
    case 50:
347
        with (obj_steamworks_factory_02_door)
348
        {
349
            image_speed = 0.5;
350
            image_index = 0;
351
        }
352
        audio_play_sound(snd_rumble, 1, 1);
353
        cutscene_advance();
354
        break;
355
    case 51:
356
        if (obj_steamworks_factory_02_door.image_index >= (obj_steamworks_factory_02_door.image_number - 1))
357
        {
358
            obj_steamworks_factory_02_door.image_index = obj_steamworks_factory_02_door.image_number - 1;
359
            obj_steamworks_factory_02_door.image_speed = 0;
360
            obj_steamworks_factory_02_door.solid = false;
361
            audio_stop_sound(snd_rumble);
362
            audio_play_sound(snd_mart_impact_3, 1, 0);
363
            cutscene_advance();
364
        }
365
        break;
366
    case 52:
367
        cutscene_screenshake(0.5, 2);
368
        break;
369
    case 53:
370
        cutscene_wait(1);
371
        break;
372
    case 54:
373
        cutscene_dialogue();
374
        with (msg)
375
        {
376
            talker[0] = 1161;
377
            message[0] = "* Hey alright! Good work,#  Clover!";
378
            message[1] = "* Onto whatever awaits us#  next...";
379
            prt[0] = 372;
380
            prt[1] = 371;
381
        }
382
        break;
383
    case 55:
384
        cutscene_wait(0.5);
385
        break;
386
    case 56:
387
        obj_ceroba_npc.x = obj_pl.x + 20;
388
        obj_ceroba_npc.y = obj_pl.y;
389
        obj_ceroba_npc.npc_direction = "left";
390
        cutscene_actor_into_follower();
391
        break;
392
    case 57:
393
        draw_alpha += 0.1;
394
        if (draw_alpha >= 1)
395
            cutscene_advance();
396
        break;
397
    case 58:
398
        cutscene_wait(0.5);
399
        break;
400
    case 59:
401
        instance_destroy(obj_camera);
402
        camera_set_view_target(view_camera[0], 1031);
403
        if (obj_steamworks_factory_02_face.sprite_index != spr_steamworks_38_face_talking)
404
        {
405
            obj_steamworks_factory_02_face.sprite_index = spr_steamworks_38_face_talking;
406
            obj_steamworks_factory_02_face.image_index = 0;
407
        }
408
        cutscene_advance();
409
        break;
410
    case 60:
411
        draw_alpha -= 0.1;
412
        if (draw_alpha <= 0)
413
            cutscene_advance();
414
        break;
415
    case 61:
416
        cutscene_wait(0.5);
417
        break;
418
    case 62:
419
        scr_radio_restart
scr_radio_restart

function scr_radio_restart() { with (obj_radio) event_user(0); }
();
420
        audio_sound_gain(obj_radio.current_song, 1, 0);
421
        global.sworks_flag[36] = 1;
422
        cutscene_end();
423
        break;
424
}