Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_steamworks_04_controller_geno_Step_0

(view raw script w/o annotations or w/e)
1
if (live_call())
2
    return global.live_result;
3
if (global.sworks_flag[0] == 0)
4
{
5
    switch (scene)
6
    {
7
        case 0:
8
            if (obj_pl.y < 416)
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
                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, 500);
12
                instance_create(obj_pl.x, obj_pl.y, obj_player_npc);
13
                if (abs(obj_player_npc.x - 224) > 10)
14
                    cutscene_advance();
15
                else
16
                    cutscene_advance(2);
17
            }
18
            break;
19
        case 1:
20
            cutscene_npc_walk(1168, 224, obj_player_npc.y, 3, "x", "up");
21
            break;
22
        case 2:
23
            cutscene_wait(1);
24
            break;
25
        case 3:
26
            cutscene_camera_move(220, 330, 1);
27
            break;
28
        case 4:
29
            var flowey = instance_create(199, 364, obj_flowey_npc);
30
            flowey.image_alpha = 0;
31
            cutscene_advance();
32
            break;
33
        case 5:
34
            obj_flowey_npc.image_alpha = 1;
35
            cutscene_npc_action_sprite(3194, 242, 0.2, false);
36
            break;
37
        case 6:
38
            cutscene_dialogue();
39
            with (msg)
40
            {
41
                talker[0] = 3194;
42
                message[0] = "* Howdy!";
43
                message[1] = "* This area seems totally#  abandoned.";
44
                message[2] = "* Guess there's no more#  need for fighting. Real#  shame.";
45
                prt[0] = 354;
46
                prt[1] = 353;
47
                prt[2] = 352;
48
            }
49
            break;
50
        case 7:
51
            cutscene_wait(0.5);
52
            break;
53
        case 8:
54
            cutscene_npc_direction(3194, "up");
55
            break;
56
        case 9:
57
            cutscene_wait(1);
58
            break;
59
        case 10:
60
            cutscene_npc_direction(3194, "down");
61
            break;
62
        case 11:
63
            cutscene_dialogue();
64
            with (msg)
65
            {
66
                talker[0] = 3194;
67
                message[0] = "* A generator, huh?";
68
                message[1] = "* There's probably some#  way to turn it back on#  around he";
69
                prt[0] = 353;
70
                prt[1] = 348;
71
                if (message_current == 1)
72
                    message_timer = 15;
73
            }
74
            break;
75
        case 12:
76
            cutscene_npc_action_sprite(1168, 3313, 1, false);
77
            if (obj_player_npc.image_index >= 8 && !instance_exists(obj_steamworks_04_generator_screen_geno))
78
            {
79
                audio_play_sound(snd_shotstrong, 1, 0);
80
                audio_play_sound(snd_attackhitcrit, 1, 0);
81
                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, 1);
82
                instance_create_depth(201, 300, obj_steamworks_04_generator.depth - 1, obj_steamworks_04_generator_screen_geno);
83
                obj_flowey_npc.npc_direction = "up";
84
            }
85
            if (obj_player_npc.image_index >= 10)
86
            {
87
                obj_player_npc.image_speed = 0;
88
                scene++;
89
            }
90
            break;
91
        case 13:
92
            cutscene_wait(1);
93
            break;
94
        case 14:
95
            cutscene_npc_direction(3194, "down");
96
            break;
97
        case 15:
98
            obj_player_npc.image_speed = 1;
99
            cutscene_npc_action_sprite(1168, 3313, 1, false);
100
            break;
101
        case 16:
102
            cutscene_dialogue();
103
            with (msg)
104
            {
105
                talker[0] = 3194;
106
                message[0] = "* Oh, come on! Again??";
107
                message[1] = "* Hate to rock your world#  but bullets aren't the#  answer to everything!";
108
                message[2] = "* Would it kill you to#  think before shooting at#  your problems?";
109
                prt[0] = 351;
110
                prt[1] = 351;
111
                prt[2] = 351;
112
            }
113
            break;
114
        case 17:
115
            cutscene_wait(1);
116
            break;
117
        case 18:
118
            cutscene_npc_walk(1168, obj_player_npc.x, 400, 1, "y", "up");
119
            break;
120
        case 19:
121
            cutscene_wait(0.5);
122
            break;
123
        case 20:
124
            cutscene_dialogue();
125
            with (msg)
126
            {
127
                talker[0] = 3194;
128
                message[0] = "* Hey, it's just a#  pattern I've noticed#  recently!";
129
                message[1] = "* You've already solved#  tons of puzzles on our#  journey.";
130
                message[2] = "* I was only curious why#  your patience has worn#  so thin!";
131
                message[3] = "* Cool it, will ya?";
132
                prt[0] = 357;
133
                prt[1] = 354;
134
                prt[2] = 357;
135
                prt[3] = 349;
136
            }
137
            break;
138
        case 21:
139
            cutscene_npc_walk(1168, 198, 384, 3, "x", "up");
140
            break;
141
        case 22:
142
            cutscene_wait(1.5);
143
            break;
144
        case 23:
145
            if (obj_player_npc.y < (obj_flowey_npc.y - 15) && obj_flowey_npc.npc_direction != "up")
146
            {
147
                obj_flowey_npc.npc_direction = "up";
148
                cutscene_camera_move(220, 120, 1, true);
149
            }
150
            cutscene_npc_walk(1168, 96, 190, 3, "x", "up", false, 220, 128);
151
            break;
152
        case 24:
153
            cutscene_wait(1.5);
154
            break;
155
        case 25:
156
            obj_flowey_npc.image_alpha = 0;
157
            obj_flowey_npc.x = 200;
158
            obj_flowey_npc.y = 150;
159
            cutscene_advance();
160
            break;
161
        case 26:
162
            obj_flowey_npc.image_alpha = 1;
163
            cutscene_npc_action_sprite(3194, 3745, 1, false);
164
            break;
165
        case 27:
166
            cutscene_wait(1);
167
            break;
168
        case 28:
169
            cutscene_dialogue();
170
            with (msg)
171
            {
172
                talker[0] = 3194;
173
                message[0] = "* Heh, I'm afraid that#  door is far too thick to#  shoot down.";
174
                message[1] = "* Looks like you'll have#  to stick with my#  original plan of";
175
                prt[0] = 347;
176
                prt[1] = 348;
177
                if (message_current == 1)
178
                    message_timer = 15;
179
            }
180
            break;
181
        case 29:
182
            cutscene_npc_action_sprite(1168, 2732, 1, true, 0);
183
            break;
184
        case 30:
185
            cutscene_wait(0.5);
186
            break;
187
        case 31:
188
            cutscene_dialogue();
189
            with (msg)
190
            {
191
                talker[0] = 3194;
192
                message[0] = "* ...What?";
193
                message[1] = "* Me?";
194
                message[2] = "* You've found yourself#  some nerve, haven't you?";
195
                prt[0] = 352;
196
                prt[1] = 351;
197
                prt[2] = 351;
198
            }
199
            break;
200
        case 32:
201
            cutscene_npc_action_sprite(1168, 2943, 1, true, 0);
202
            break;
203
        case 33:
204
            cutscene_wait(0.5);
205
            break;
206
        case 34:
207
            cutscene_dialogue();
208
            with (msg)
209
            {
210
                talker[0] = 3194;
211
                message[0] = "* ...Fine.";
212
                prt[0] = 353;
213
            }
214
            break;
215
        case 35:
216
            obj_player_npc.action_sprite = false;
217
            cutscene_action_sprite(1983, 987, 1, true, 0, 537, 0);
218
            break;
219
        case 36:
220
            obj_steamworks_04_door.sprite_index = spr_steamworks_04_door;
221
            obj_steamworks_04_door.image_index = obj_steamworks_04_door.image_number - 1;
222
            obj_steamworks_04_door.image_speed = 0;
223
            cutscene_advance();
224
            break;
225
        case 37:
226
            cutscene_wait(1);
227
            break;
228
        case 38:
229
            cutscene_dialogue();
230
            with (msg)
231
            {
232
                talker[0] = 3194;
233
                message[0] = "* There. Your exit, my#  king.";
234
                prt[0] = 349;
235
            }
236
            break;
237
        case 39:
238
            cutscene_wait(0.5);
239
            break;
240
        case 40:
241
            cutscene_npc_action_sprite(1168, 3340, 1, true, 0);
242
            break;
243
        case 41:
244
            cutscene_wait(0.5);
245
            break;
246
        case 42:
247
            cutscene_dialogue();
248
            with (msg)
249
            {
250
                talker[0] = 3194;
251
                message[0] = "* Did you forget my#  warning when you started#  down this road?";
252
                message[1] = "* I'm in control here.";
253
                message[2] = "* That hasn't and won't#  change, got it?";
254
                message[3] = "* The next time you pull#  a stunt like this...";
255
                message[4] = "* ...";
256
                message[5] = "* Let's just keep moving.";
257
                prt[0] = 352;
258
                prt[1] = 349;
259
                prt[2] = 348;
260
                prt[3] = 347;
261
                prt[4] = 352;
262
                prt[5] = 353;
263
            }
264
            break;
265
        case 43:
266
            cutscene_wait(0.5);
267
            break;
268
        case 44:
269
            obj_player_npc.action_sprite = false;
270
            cutscene_wait(0.5);
271
            break;
272
        case 45:
273
            if (cutscene_npc_action_sprite(3194, 245, 0.2, false))
274
                instance_destroy(obj_flowey_npc);
275
            break;
276
        case 46:
277
            cutscene_wait(0.5);
278
            break;
279
        case 47:
280
            cutscene_camera_move(obj_player_npc.x, obj_player_npc.y, 1);
281
            break;
282
        case 48:
283
            scr_radio_restart
scr_radio_restart

function scr_radio_restart() { with (obj_radio) event_user(0); }
();
284
            cutscene_camera_reset(true);
285
            global.sworks_flag[0] = 1;
286
            global.sworks_flag[1] = 2;
287
            instance_destroy(103965);
288
            cutscene_end();
289
            break;
290
    }
291
}
292
if (global.sworks_flag[1] == 3)
293
{
294
    switch (scene)
295
    {
296
        case 0:
297
            __view_set(e__VW.Object, 0, obj_steamworks_04_generator);
298
            obj_steamworks_04_generator.image_speed = 0;
299
            obj_steamworks_04_generator.sprite_index = spr_steamworks_04_generator_pink;
300
            cutscene_advance();
301
            break;
302
        case 1:
303
            cutscene_wait(2);
304
            break;
305
        case 2:
306
            obj_steamworks_04_generator.sprite_index = spr_steamworks_04_generator_startup_geno;
307
            obj_steamworks_04_generator.image_speed = 1;
308
            audio_play_sound(snd_generator_start, 1, 0);
309
            cutscene_advance();
310
            break;
311
        case 3:
312
            cutscene_wait(2.5);
313
            break;
314
        case 4:
315
            cutscene_change_room(152, 655, 170, 0.05);
316
            break;
317
    }
318
}
319
320
enum e__VW
321
{
322
    XView,
323
    YView,
324
    WView,
325
    HView,
326
    Angle,
327
    HBorder,
328
    VBorder,
329
    HSpeed,
330
    VSpeed,
331
    Object,
332
    Visible,
333
    XPort,
334
    YPort,
335
    WPort,
336
    HPort,
337
    Camera,
338
    SurfaceID
339
}