Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_factory_03_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
        if (obj_pl.x > 340)
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
        cutscene_instance_create(obj_pl.x, obj_pl.y, 1168);
14
        break;
15
    case 2:
16
        cutscene_npc_direction(1168, "right");
17
        break;
18
    case 3:
19
        cutscene_follower_into_actor();
20
        break;
21
    case 4:
22
        cutscene_npc_walk(actor_follower, 370, 150, 3, "y", "up");
23
        break;
24
    case 5:
25
        cutscene_wait(0.25);
26
        break;
27
    case 6:
28
        cutscene_dialogue();
29
        with (msg)
30
        {
31
            talker[0] = 1161;
32
            message[0] = "* \"Metalworks Emergency Escape#  Plan (or MEEP):";
33
            message[1] = "* In case someone sets the room#  on fire, do not use the#  elevator.";
34
            message[2] = "* Evacuate down to floor 01 or#  use a passcode to access floor#  03.\"";
35
            position = 0;
36
        }
37
        break;
38
    case 7:
39
        cutscene_wait(0.75);
40
        break;
41
    case 8:
42
        cutscene_dialogue();
43
        with (msg)
44
        {
45
            talker[0] = 1161;
46
            message[0] = "* Uh huh...";
47
            message[1] = "* They REALLY locked this#  place up tight.";
48
            message[2] = "* Well, if the code was#  found nearby on the#  first floor...";
49
            message[3] = "* Let's take a look#  around.";
50
            prt[0] = 377;
51
            prt[1] = 394;
52
            prt[2] = 370;
53
            prt[3] = 371;
54
            position = 0;
55
            if (message_current == 3)
56
                obj_ceroba_npc.npc_direction = "left";
57
        }
58
        break;
59
    case 9:
60
        cutscene_npc_walk(actor_follower, obj_pl.x - 20, obj_pl.y, 3, "y", "right");
61
        break;
62
    case 10:
63
        instance_destroy(obj_player_npc);
64
        cutscene_actor_into_follower();
65
        scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() { global.cutscene = false; obj_pl.alarm[0] = 1; }
();
66
        global.sworks_flag[37] = 0.5;
67
        break;
68
    case 11:
69
        if (obj_pl.y >= 430)
70
        {
71
            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; }
();
72
            cutscene_advance();
73
        }
74
        break;
75
    case 12:
76
        cutscene_instance_create(obj_pl.x, obj_pl.y, 1168);
77
        break;
78
    case 13:
79
        cutscene_follower_into_actor();
80
        break;
81
    case 14:
82
        cutscene_npc_walk(1168, 370, 480, 2, "y", "down");
83
        cutscene_npc_walk(1161, 390, 480, 2, "x", "down");
84
        scene++;
85
        break;
86
    case 15:
87
        if (obj_player_npc.npc_arrived && obj_ceroba_npc.npc_arrived)
88
            scene++;
89
        break;
90
    case 16:
91
        cutscene_instance_create(370, 640, 1166);
92
        break;
93
    case 17:
94
        cutscene_music_start(219, 500);
95
        break;
96
    case 18:
97
        cutscene_npc_walk(1166, 370, 580, 3, "x", "up");
98
        break;
99
    case 19:
100
        cutscene_dialogue();
101
        with (msg)
102
        {
103
            talker[0] = 1166;
104
            talker[1] = 1161;
105
            talker[3] = 1166;
106
            talker[4] = 1161;
107
            talker[5] = 1166;
108
            talker[7] = 1161;
109
            talker[8] = 1166;
110
            message[0] = "* THERE YOU ARE.";
111
            message[1] = "* No way...";
112
            message[2] = "* You seriously want to do#  this again?";
113
            message[3] = "* YES.";
114
            message[4] = "* Remember the explosion#  that incapacited you?";
115
            message[5] = "* YES.";
116
            message[6] = "* I RETRIEVED BRAND NEW#  HANDS. I AM UNSTOPPABLE#  NOW.";
117
            message[7] = "* Look, at some point you#  need to gi   ";
118
            message[8] = "* SHUSH.";
119
            message[9] = "* DO NOT RESIST ARREST ANY#  LONGER.";
120
            message[10] = "* STAND STILL AND LET MY#  HANDSOME HANDS SHINE.";
121
            prt[0] = 473;
122
            prt[1] = 377;
123
            prt[2] = 371;
124
            prt[3] = 473;
125
            prt[4] = 371;
126
            prt[5] = 473;
127
            prt[6] = 473;
128
            prt[7] = 377;
129
            prt[8] = 473;
130
            prt[9] = 473;
131
            prt[10] = 473;
132
            position_array[0] = 1;
133
            position_array[1] = 0;
134
            position_array[2] = 0;
135
            position_array[3] = 1;
136
            position_array[4] = 0;
137
            position_array[5] = 1;
138
            position_array[6] = 1;
139
            position_array[7] = 0;
140
            position_array[8] = 1;
141
            position_array[9] = 1;
142
            position_array[10] = 1;
143
            if (message_current == 7)
144
            {
145
                skippable = false;
146
                if (cutoff >= string_length(message[message_current]))
147
                    force_skip = true;
148
            }
149
            else
150
            {
151
                skippable = true;
152
            }
153
        }
154
        break;
155
    case 20:
156
        cutscene_npc_walk(1166, 370, 530, 5, "x", "up");
157
        break;
158
    case 21:
159
        audio_stop_sound(cutscene_music);
160
        cutscene_npc_action_sprite(1166, 2118, 1, true, 0, 272, 1);
161
        with (obj_factory_wire)
162
        {
163
            if (sprite_index != spr_factory_03_axis_wire_disconnect)
164
            {
165
                image_index = 0;
166
                image_speed = 1;
167
                sprite_index = spr_factory_03_axis_wire_disconnect;
168
            }
169
        }
170
        break;
171
    case 22:
172
        cutscene_wait(1);
173
        break;
174
    case 23:
175
        cutscene_dialogue();
176
        with (msg)
177
        {
178
            talker[0] = 1166;
179
            talker[1] = 1161;
180
            message[0] = "* [shoot]";
181
            message[1] = "* (Pst, Clover!#  This way!)";
182
            prt[0] = 473;
183
            prt[1] = 370;
184
        }
185
        break;
186
    case 24:
187
        var scene_start = scene;
188
        cutscene_camera_freeze();
189
        cutscene_npc_walk(1168, 540, 480, 5, "y", "left");
190
        cutscene_npc_walk(1161, 540, 480, 5, "x", "left");
191
        scene = scene_start + 1;
192
        break;
193
    case 25:
194
        if (obj_player_npc.npc_arrived && obj_ceroba_npc.npc_arrived)
195
        {
196
            obj_ceroba_npc.y = 458;
197
            obj_player_npc.y = 458;
198
            scene++;
199
        }
200
        break;
201
    case 26:
202
        cutscene_npc_reset_sprite(1166, "down");
203
        break;
204
    case 27:
205
        cutscene_dialogue();
206
        with (msg)
207
        {
208
            color = true;
209
            message_col[0][0] = "";
210
            col_modif[0] = 16711935;
211
            talker[0] = 1166;
212
            message[0] = "* MY VISION...";
213
            message[1] = "* INITIATING 16-VOLT SUPER#  FLASHLIGHT_";
214
            message_col[1][0] = message[1];
215
            prt[0] = 473;
216
            position = 1;
217
        }
218
        break;
219
    case 28:
220
    case 30:
221
    case 32:
222
        obj_factory_03_axis_flashlight.active = 1;
223
        audio_play_sound(snd_electric_flash, 1, 0);
224
        cutscene_wait(0.1);
225
        break;
226
    case 29:
227
        obj_factory_03_axis_flashlight.active = 0;
228
        cutscene_wait(0.1);
229
        break;
230
    case 31:
231
        obj_factory_03_axis_flashlight.active = 0;
232
        cutscene_wait(0.3);
233
        break;
234
    case 33:
235
        if (cutscene_dialogue())
236
            scene = 33.5;
237
        with (msg)
238
        {
239
            color = true;
240
            message_col[0][0] = "";
241
            col_modif[0] = 16711935;
242
            talker[0] = 1166;
243
            message[0] = "* 95% OF POWER UTILIZED_";
244
            message_col[0][0] = message[0];
245
            message[1] = "* TYPOGRAPHY BOX HINDERED_";
246
            message_col[1][0] = message[1];
247
            position = 1;
248
        }
249
        break;
250
    case 33.5:
251
        if (cutscene_dialogue_axis_hindered())
252
            scene = 34;
253
        with (msg)
254
        {
255
            sndfnt = 111;
256
            message[0] = "* WHAT DO YOU MEA-";
257
            message[1] = "* OH.";
258
            message[2] = "* THIS IS MOST UN-";
259
            message[3] = "* THIS IS BAD.";
260
            message[4] = "* ...";
261
            message[5] = "* OH WELL.";
262
            message[6] = "* UNLIKE THEM...";
263
            message[7] = "* I HAVE EYES.";
264
            prt[0] = 473;
265
            prt[1] = 473;
266
            prt[2] = 473;
267
            prt[3] = 473;
268
            prt[4] = 473;
269
            prt[5] = 473;
270
            prt[6] = 473;
271
            prt[7] = 473;
272
            position = 1;
273
        }
274
        break;
275
    case 34:
276
        cutscene_npc_walk(1166, 370, 760, 3, "y", "down");
277
        break;
278
    case 35:
279
        cutscene_wait(0.5);
280
        break;
281
    case 36:
282
        var scene_start = scene;
283
        cutscene_npc_walk(1168, 470, 458, 4, "y", "right");
284
        cutscene_npc_walk(1161, 500, 458, 3, "x", "left");
285
        scene = scene_start + 1;
286
        break;
287
    case 37:
288
        if (obj_player_npc.npc_arrived && obj_ceroba_npc.npc_arrived)
289
            scene++;
290
        break;
291
    case 38:
292
        cutscene_camera_move(510, 480, 3);
293
        break;
294
    case 39:
295
        cutscene_wait(1);
296
        break;
297
    case 40:
298
        cutscene_dialogue();
299
        with (msg)
300
        {
301
            talker[0] = 1161;
302
            message[0] = "* (Okay..)";
303
            message[1] = "* (We need to stay out of#  his view and keep#  quiet.)";
304
            message[2] = "* (There's gotta   ";
305
            prt[0] = 394;
306
            prt[1] = 377;
307
            prt[2] = 370;
308
            if (message_current == 2)
309
            {
310
                with (obj_steamworks_factory_02_face)
311
                {
312
                    sprite_index = spr_steamworks_38_face_hello;
313
                    image_speed = 1;
314
                }
315
                skippable = false;
316
                if (cutoff >= string_length(message[message_current]))
317
                {
318
                    global.dialogue_open = false;
319
                    instance_destroy();
320
                    with (other)
321
                    {
322
                        cutscene_music = -4;
323
                        cutscene_music_start(65, 1);
324
                    }
325
                }
326
            }
327
        }
328
        break;
329
    case 41:
330
        cutscene_dialogue_special("shake", 65280);
331
        if (obj_steamworks_factory_02_face.sprite_index != spr_steamworks_38_face_talking)
332
        {
333
            obj_steamworks_factory_02_face.sprite_index = spr_steamworks_38_face_talking;
334
            obj_steamworks_factory_02_face.image_index = 0;
335
        }
336
        with (msg)
337
        {
338
            message[0] = "* Heeello again!!!";
339
            message[1] = "* What ever are you two doing he  ";
340
            if (message_current == 1)
341
                mode = "swirl";
342
            if (message_current == 1)
343
            {
344
                skippable = false;
345
                if (can_skip)
346
                {
347
                    global.dialogue_open = false;
348
                    instance_destroy();
349
                    other.scene++;
350
                }
351
            }
352
            position = 0;
353
        }
354
        break;
355
    case 42:
356
        cutscene_npc_action_sprite(1161, 2611, 1, true, 0);
357
        break;
358
    case 43:
359
        if (cutscene_wait(2))
360
            cutscene_advance(43.5);
361
        break;
362
    case 43.5:
363
        if (cutscene_dialogue())
364
            cutscene_advance(44);
365
        with (msg)
366
        {
367
            talker[0] = 1161;
368
            message[0] = "* ...";
369
            prt[0] = 3232;
370
        }
371
        break;
372
    case 44:
373
        cutscene_npc_action_sprite(1161, 2892, 1, true, 0);
374
        break;
375
    case 45:
376
        cutscene_dialogue();
377
        with (msg)
378
        {
379
            talker[0] = 1161;
380
            message[0] = "* (As I was saying...)";
381
            message[1] = "* (There's gotta be a code#  around here.)";
382
            message[2] = "* (Once you find it, head#  for the exit.)";
383
            prt[0] = 368;
384
            prt[1] = 377;
385
            prt[2] = 370;
386
        }
387
        break;
388
    case 46:
389
        cutscene_camera_move(obj_pl.x, obj_pl.y, 2);
390
        break;
391
    case 47:
392
        cutscene_camera_reset(true);
393
        cutscene_advance(48);
394
        break;
395
    case 48:
396
        instance_create_depth(0, 0, -100, obj_factory_03_minigame);
397
        cutscene_advance();
398
        instance_destroy(obj_player_npc);
399
        obj_pl.direction = 180;
400
        cutscene_actor_into_follower();
401
        scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() { global.cutscene = false; obj_pl.alarm[0] = 1; }
();
402
        scr_radio_restart
scr_radio_restart

function scr_radio_restart() { with (obj_radio) event_user(0); }
();
403
        global.sworks_flag[37] = 1;
404
        break;
405
}