1 |
if (live_call()) |
2 |
return global.live_result; |
3 |
depth = -999999; |
4 |
switch (scene) |
5 |
{ |
6 |
case 0: |
7 |
entrance_sound = audio_play_sound(snd_flowey_world_entrance, 1, 0); |
8 |
cutscene_advance(); |
9 |
break; |
10 |
case 1: |
11 |
var sound_percentage = audio_sound_get_track_position(entrance_sound) / audio_sound_length(entrance_sound); |
12 |
var ef_distort = layer_get_fx("distort"); |
13 |
var ef_scr = layer_get_fx("pixelate"); |
14 |
fx_set_parameter(ef_distort, "g_DistortAmount", 40 - (sound_percentage * 40)); |
15 |
fx_set_parameter(ef_scr, "g_CellSize", 15 - (sound_percentage * 15)); |
16 |
if (!audio_is_playing(entrance_sound)) |
17 |
{ |
18 |
layer_set_visible("pixelate", false); |
19 |
layer_set_visible("distort", false); |
20 |
cutscene_advance(); |
21 |
} |
22 |
break; |
23 |
case 2: |
24 |
cutscene_wait(1.5); |
25 |
break; |
26 |
case 3: |
27 |
if (!instance_exists(obj_flowey_world_text)) |
28 |
{ |
29 |
var msg = instance_create_depth(0, 0, -9999, obj_flowey_world_text); |
30 |
with (msg) |
31 |
{ |
32 |
message[0] = "* You see, I've been# watching you for a# while."; |
33 |
message[1] = "* Gosh, what run is it?# Gotta be in the hundreds."; |
34 |
message[2] = "* I've almost lost count!# Haha..."; |
35 |
soundfont = 96; |
36 |
} |
37 |
} |
38 |
if (!global.dialogue_open) |
39 |
cutscene_advance(); |
40 |
break; |
41 |
case 4: |
42 |
actor_toriel = instance_create(obj_pl.x, obj_pl.y + 100, obj_toriel_npc); |
43 |
cutscene_music = audio_play_sound(mus_flowey_world, 1, 1); |
44 |
cutscene_advance(); |
45 |
break; |
46 |
case 5: |
47 |
cutscene_npc_walk(actor_toriel, obj_pl.x, obj_pl.y + 30, 1, "x", "up"); |
48 |
break; |
49 |
case 6: |
50 |
if (cutscene_wait(1)) |
51 |
{ |
52 |
obj_clovsleep_flashback.is_active = true; |
53 |
cutscene_advance(6.5); |
54 |
} |
55 |
break; |
56 |
case 6.5: |
57 |
if (cutscene_wait(1)) |
58 |
cutscene_advance(7); |
59 |
break; |
60 |
case 7: |
61 |
if (!instance_exists(obj_flowey_world_text)) |
62 |
{ |
63 |
var msg = instance_create_depth(0, 0, -9999, obj_flowey_world_text); |
64 |
with (msg) |
65 |
{ |
66 |
talker[0] = 1159; |
67 |
message[0] = "* Ah! Hello!"; |
68 |
message[1] = "* Are you all right?"; |
69 |
message[2] = "* You must be wondering# what is going on..."; |
70 |
message[3] = "* I am TORIEL, caretaker# of the RUINS."; |
71 |
soundfont = 97; |
72 |
} |
73 |
} |
74 |
if (obj_flowey_world_text.message_current >= 3) |
75 |
cutscene_wait(1.5); |
76 |
break; |
77 |
case 8: |
78 |
cutscene_sfx_play(650, 1); |
79 |
instance_create_depth(0, 0, 0, obj_flashback_transition_glitch); |
80 |
break; |
81 |
case 9: |
82 |
instance_destroy(obj_flowey_world_text); |
83 |
obj_pl.x = 40; |
84 |
obj_pl.y = 192; |
85 |
obj_pl.direction = 0; |
86 |
actor_toriel.x = 248; |
87 |
actor_toriel.y = 193; |
88 |
actor_toriel.npc_direction = "left"; |
89 |
actor_toriel.up_sprite_idle = 300; |
90 |
cutscene_advance(); |
91 |
break; |
92 |
case 10: |
93 |
cutscene_wait(2); |
94 |
break; |
95 |
case 11: |
96 |
if (!instance_exists(obj_flowey_world_text)) |
97 |
{ |
98 |
var msg = instance_create_depth(0, 0, -9999, obj_flowey_world_text); |
99 |
with (msg) |
100 |
{ |
101 |
message[0] = "* I let you carry on# your merry way so# many times."; |
102 |
soundfont = 96; |
103 |
} |
104 |
} |
105 |
if (!global.dialogue_open) |
106 |
{ |
107 |
scr_cutscene_end(); |
108 |
cutscene_advance(); |
109 |
} |
110 |
break; |
111 |
case 12: |
112 |
if (actor_toriel.interact) |
113 |
{ |
114 |
if (!instance_exists(obj_flowey_world_text)) |
115 |
{ |
116 |
global.cutscene = true; |
117 |
var msg = instance_create_depth(0, 0, -9999, obj_flowey_world_text); |
118 |
with (msg) |
119 |
{ |
120 |
if (other.tori_dialogue == 0) |
121 |
{ |
122 |
other.tori_dialogue = 1; |
123 |
message[0] = "* Go on, press the# switch on the left."; |
124 |
talker[0] = 1159; |
125 |
skippable = true; |
126 |
} |
127 |
else |
128 |
{ |
129 |
message[0] = "* You do know which# way left is, do# you not?"; |
130 |
message[1] = "* Press the switch that# I labelled for you."; |
131 |
talker[0] = 1159; |
132 |
skippable = true; |
133 |
} |
134 |
soundfont = 97; |
135 |
} |
136 |
} |
137 |
} |
138 |
if (!global.dialogue_open) |
139 |
global.cutscene = false; |
140 |
x_offset_prev = 0; |
141 |
break; |
142 |
case 13: |
143 |
obj_flowey_world_camera.x_offset = 0; |
144 |
obj_flowey_world_camera.x_offset = choose(-5, 5); |
145 |
if (obj_flowey_world_camera.x_offset == x_offset_prev) |
146 |
obj_flowey_world_camera.x_offset *= -1; |
147 |
if (cutscene_wait(0.5)) |
148 |
obj_flowey_world_camera.x_offset = 0; |
149 |
break; |
150 |
case 14: |
151 |
if (actor_toriel.interact) |
152 |
{ |
153 |
if (!instance_exists(obj_flowey_world_text)) |
154 |
{ |
155 |
var msg = instance_create_depth(0, 0, -9999, obj_flowey_world_text); |
156 |
with (msg) |
157 |
{ |
158 |
talker[0] = 1159; |
159 |
message[0] = "* Splendid!"; |
160 |
message[1] = "* I am proud of you,# little one."; |
161 |
soundfont = 97; |
162 |
} |
163 |
} |
164 |
} |
165 |
if (!global.dialogue_open) |
166 |
cutscene_advance(); |
167 |
break; |
168 |
case 15: |
169 |
cutscene_sfx_play(650, 1); |
170 |
instance_create_depth(0, 0, 0, obj_flashback_transition_glitch); |
171 |
break; |
172 |
case 16: |
173 |
obj_pl.x = 500; |
174 |
obj_pl.y = 220; |
175 |
obj_pl.direction = 0; |
176 |
actor_toriel.x = 560; |
177 |
actor_toriel.y = 180; |
178 |
actor_toriel.npc_direction = "down"; |
179 |
scr_cutscene_end(); |
180 |
cutscene_advance(); |
181 |
break; |
182 |
case 17: |
183 |
if (actor_toriel.interact) |
184 |
{ |
185 |
if (!instance_exists(obj_flowey_world_text)) |
186 |
{ |
187 |
global.cutscene = true; |
188 |
var msg = instance_create_depth(0, 0, -9999, obj_flowey_world_text); |
189 |
with (msg) |
190 |
{ |
191 |
message[0] = "* Go ahead and# push the rock!"; |
192 |
talker[0] = 1159; |
193 |
skippable = true; |
194 |
soundfont = 97; |
195 |
} |
196 |
} |
197 |
if (!global.dialogue_open) |
198 |
global.cutscene = false; |
199 |
} |
200 |
break; |
201 |
case 18: |
202 |
scr_cutscene_start(); |
203 |
obj_flowey_world_camera.x_offset = 0; |
204 |
obj_flowey_world_camera.x_offset = choose(-5, 5); |
205 |
if (obj_flowey_world_camera.x_offset == x_offset_prev) |
206 |
obj_flowey_world_camera.x_offset *= -1; |
207 |
if (cutscene_wait(0.5)) |
208 |
obj_flowey_world_camera.x_offset = 0; |
209 |
break; |
210 |
case 19: |
211 |
if (!instance_exists(obj_flowey_world_text)) |
212 |
{ |
213 |
var msg = instance_create_depth(0, 0, -9999, obj_flowey_world_text); |
214 |
with (msg) |
215 |
{ |
216 |
talker[0] = 1159; |
217 |
message[0] = "* You are learning# so much, my child!"; |
218 |
soundfont = 97; |
219 |
} |
220 |
} |
221 |
if (!global.dialogue_open) |
222 |
cutscene_advance(); |
223 |
break; |
224 |
case 20: |
225 |
instance_create_depth(0, 0, 0, obj_flashback_transition_glitch); |
226 |
cutscene_advance(); |
227 |
exit; |
228 |
break; |
229 |
case 21: |
230 |
cutscene_npc_set_sprites(1159, 3135, 59, 2613, 3261, 3135, 59, 2613, 3261); |
231 |
obj_pl.x = 896; |
232 |
obj_pl.y = 288; |
233 |
obj_pl.image_alpha = 0; |
234 |
actor_toriel.x = 896; |
235 |
actor_toriel.y = 288; |
236 |
actor_toriel.npc_direction = "right"; |
237 |
actor_toriel.sprite_index = spr_toriel_down_hold; |
238 |
break; |
239 |
case 22: |
240 |
cutscene_npc_walk(actor_toriel, 946, 288, 1, "x", "up", -4, 946, 192, 1028, 192, 1028, 288); |
241 |
cutscene_wait(1.25); |
242 |
break; |
243 |
case 23: |
244 |
if (!instance_exists(obj_flowey_world_text)) |
245 |
{ |
246 |
var msg = instance_create_depth(0, 0, -9999, obj_flowey_world_text); |
247 |
with (msg) |
248 |
{ |
249 |
message[0] = "* I watched the same# childish behavior play# out over..."; |
250 |
soundfont = 96; |
251 |
} |
252 |
} |
253 |
if (!global.dialogue_open) |
254 |
cutscene_advance(); |
255 |
break; |
256 |
case 24: |
257 |
cutscene_wait(1.8); |
258 |
break; |
259 |
case 25: |
260 |
instance_create_depth(0, 0, 0, obj_flashback_transition_glitch); |
261 |
cutscene_advance(); |
262 |
break; |
263 |
case 26: |
264 |
cutscene_npc_set_sprites(1159, 3135, 2788, 2613, 3261, 3135, 2788, 2613, 3261); |
265 |
actor_toriel.x = 1215; |
266 |
actor_toriel.y = 200; |
267 |
actor_toriel.npc_direction = "right"; |
268 |
obj_toriel_npc.current_destination = 0; |
269 |
cutscene_advance(); |
270 |
break; |
271 |
case 27: |
272 |
cutscene_npc_walk(actor_toriel, 1460, 200, 1, "x", "right"); |
273 |
cutscene_wait(1); |
274 |
break; |
275 |
case 28: |
276 |
if (!instance_exists(obj_flowey_world_text)) |
277 |
{ |
278 |
var msg = instance_create_depth(0, 0, -9999, obj_flowey_world_text); |
279 |
with (msg) |
280 |
{ |
281 |
message[0] = "* And over..."; |
282 |
soundfont = 96; |
283 |
} |
284 |
} |
285 |
if (!global.dialogue_open) |
286 |
cutscene_advance(); |
287 |
break; |
288 |
case 29: |
289 |
cutscene_wait(1); |
290 |
break; |
291 |
case 30: |
292 |
instance_create_depth(0, 0, 0, obj_flashback_transition_glitch); |
293 |
cutscene_advance(); |
294 |
break; |
295 |
case 31: |
296 |
actor_toriel.x = 1560; |
297 |
actor_toriel.y = 200; |
298 |
actor_toriel.npc_direction = "right"; |
299 |
cutscene_advance(); |
300 |
obj_toriel_npc.current_destination = 0; |
301 |
break; |
302 |
case 32: |
303 |
cutscene_npc_walk(actor_toriel, 1640, 200, 1, "x", "right"); |
304 |
break; |
305 |
case 33: |
306 |
cutscene_wait(0.5); |
307 |
break; |
308 |
case 34: |
309 |
if (obj_flowey_world_blook.image_alpha > 0) |
310 |
obj_flowey_world_blook.image_alpha -= 0.1; |
311 |
else |
312 |
cutscene_advance(); |
313 |
break; |
314 |
case 35: |
315 |
cutscene_wait(0.25); |
316 |
break; |
317 |
case 36: |
318 |
cutscene_npc_walk(actor_toriel, 1740, 164, 1, "x", "up"); |
319 |
cutscene_advance(); |
320 |
break; |
321 |
case 37: |
322 |
if (!instance_exists(obj_flowey_world_text)) |
323 |
{ |
324 |
var msg = instance_create_depth(0, 0, -9999, obj_flowey_world_text); |
325 |
with (msg) |
326 |
{ |
327 |
message[0] = "* And over."; |
328 |
soundfont = 96; |
329 |
} |
330 |
} |
331 |
if (!global.dialogue_open) |
332 |
cutscene_advance(); |
333 |
break; |
334 |
case 38: |
335 |
cutscene_wait(0.5); |
336 |
break; |
337 |
case 39: |
338 |
if (overlay_alpha < 0.99) |
339 |
overlay_alpha = lerp(overlay_alpha, 1, 0.05); |
340 |
else |
341 |
cutscene_advance(); |
342 |
break; |
343 |
case 40: |
344 |
cutscene_wait(1); |
345 |
break; |
346 |
case 41: |
347 |
if (!instance_exists(obj_flowey_world_text)) |
348 |
{ |
349 |
var msg = instance_create_depth(0, 0, -9999, obj_flowey_world_text); |
350 |
with (msg) |
351 |
{ |
352 |
message[0] = "* Sure, small decisions# here and there would# vary but..."; |
353 |
soundfont = 96; |
354 |
} |
355 |
} |
356 |
if (!global.dialogue_open) |
357 |
cutscene_advance(); |
358 |
break; |
359 |
case 42: |
360 |
cutscene_wait(0.5); |
361 |
break; |
362 |
case 43: |
363 |
room = rm_flashback_02; |
364 |
obj_pl.x = 160; |
365 |
obj_pl.y = 100; |
366 |
cutscene_advance(); |
367 |
break; |
368 |
case 44: |
369 |
if (overlay_alpha > 0.01) |
370 |
{ |
371 |
overlay_alpha = lerp(overlay_alpha, 0, 0.05); |
372 |
} |
373 |
else |
374 |
{ |
375 |
overlay_alpha = 0; |
376 |
cutscene_advance(); |
377 |
} |
378 |
break; |
379 |
case 45: |
380 |
cutscene_wait(1); |
381 |
break; |
382 |
case 46: |
383 |
if (!instance_exists(obj_flowey_world_text)) |
384 |
{ |
385 |
var msg = instance_create_depth(0, 0, -9999, obj_flowey_world_text); |
386 |
with (msg) |
387 |
{ |
388 |
message[0] = "* The journey would always# end with you ignorantly# living with Toriel."; |
389 |
message[1] = "* I had to interfere."; |
390 |
soundfont = 96; |
391 |
} |
392 |
} |
393 |
if (!global.dialogue_open) |
394 |
cutscene_advance(); |
395 |
break; |
396 |
case 47: |
397 |
cutscene_wait(1); |
398 |
break; |
399 |
case 48: |
400 |
obj_chairiel.can_talk = false; |
401 |
if (overlay_alpha < 0.99) |
402 |
overlay_alpha = lerp(overlay_alpha, 1, 0.05); |
403 |
else |
404 |
cutscene_advance(); |
405 |
break; |
406 |
case 49: |
407 |
cutscene_wait(1); |
408 |
break; |
409 |
case 50: |
410 |
if (!instance_exists(obj_flowey_world_text)) |
411 |
{ |
412 |
var msg = instance_create_depth(0, 0, -9999, obj_flowey_world_text); |
413 |
with (msg) |
414 |
{ |
415 |
message[0] = "* At first, my efforts# seemed to work."; |
416 |
soundfont = 96; |
417 |
} |
418 |
} |
419 |
if (!global.dialogue_open) |
420 |
cutscene_advance(); |
421 |
break; |
422 |
case 51: |
423 |
actor_toriel = instance_create(480, 70, obj_toriel_npc); |
424 |
actor_toriel.npc_direction = "up"; |
425 |
obj_pl.x = 480; |
426 |
obj_pl.y = 130; |
427 |
obj_pl.direction = 90; |
428 |
obj_pl.image_alpha = 1; |
429 |
cutscene_advance(); |
430 |
break; |
431 |
case 52: |
432 |
if (overlay_alpha > 0.01) |
433 |
{ |
434 |
overlay_alpha = lerp(overlay_alpha, 0, 0.05); |
435 |
} |
436 |
else |
437 |
{ |
438 |
overlay_alpha = 0; |
439 |
music_stop_noloop = false; |
440 |
instance_create(0, 0, obj_flashback_02_toriel_mini_cutscene); |
441 |
cutscene_advance(); |
442 |
} |
443 |
break; |
444 |
case 53: |
445 |
cutscene_wait(1); |
446 |
break; |
447 |
case 54: |
448 |
if (!instance_exists(obj_flowey_world_text)) |
449 |
{ |
450 |
var msg = instance_create_depth(0, 0, -9999, obj_flowey_world_text); |
451 |
with (msg) |
452 |
{ |
453 |
message[0] = "* Tensions rose and you# left the Ruins."; |
454 |
message[1] = "* But then, other# issues crept up..."; |
455 |
} |
456 |
} |
457 |
else if (obj_flowey_world_text.message_current >= 1 && !music_stop_noloop) |
458 |
{ |
459 |
scr_audio_fade_outscr_audio_fade_outfunction 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); |
460 |
music_stop_noloop = true; |
461 |
} |
462 |
if (!global.dialogue_open) |
463 |
cutscene_advance(); |
464 |
break; |
465 |
case 55: |
466 |
cutscene_wait(1); |
467 |
break; |
468 |
case 56: |
469 |
if (overlay_alpha < 0.99) |
470 |
{ |
471 |
overlay_alpha = lerp(overlay_alpha, 1, 0.05); |
472 |
} |
473 |
else |
474 |
{ |
475 |
instance_destroy(obj_flashback_02_toriel_mini_cutscene); |
476 |
cutscene_advance(); |
477 |
} |
478 |
break; |
479 |
case 57: |
480 |
cutscene_wait(0.5); |
481 |
break; |
482 |
case 58: |
483 |
if (!instance_exists(obj_flowey_world_text)) |
484 |
{ |
485 |
var msg = instance_create_depth(0, 0, -9999, obj_flowey_world_text); |
486 |
with (msg) |
487 |
{ |
488 |
message[0] = "* No matter how many# times you journeyed on..."; |
489 |
keep_on_screen = true; |
490 |
} |
491 |
} |
492 |
if (cutscene_wait(2.5)) |
493 |
cutscene_music = audio_play_sound(mus_flowey_soundscape, 1, 0); |
494 |
break; |
495 |
case 59: |
496 |
cutscene_advance(); |
497 |
break; |
498 |
case 60: |
499 |
obj_pl.x = 740; |
500 |
obj_pl.y = 80; |
501 |
obj_pl.direction = 0; |
502 |
cutscene_advance(); |
503 |
break; |
504 |
case 61: |
505 |
if (overlay_alpha > 0.01) |
506 |
{ |
507 |
overlay_alpha = lerp(overlay_alpha, 0, 0.1); |
508 |
} |
509 |
else |
510 |
{ |
511 |
overlay_alpha = 0; |
512 |
with (obj_flowey_world_stalagmites) |
513 |
active = true; |
514 |
global.dialogue_open = false; |
515 |
cutscene_advance(); |
516 |
scr_cutscene_end(); |
517 |
} |
518 |
break; |
519 |
case 62: |
520 |
if (instance_exists(obj_heart_flowey_world_split)) |
521 |
cutscene_advance(); |
522 |
break; |
523 |
case 63: |
524 |
cutscene_wait(4); |
525 |
break; |
526 |
case 64: |
527 |
if (!instance_exists(obj_flowey_world_text)) |
528 |
{ |
529 |
var msg = instance_create_depth(0, 0, -9999, obj_flowey_world_text); |
530 |
with (msg) |
531 |
{ |
532 |
message[0] = "* You always died."; |
533 |
keep_on_screen = true; |
534 |
} |
535 |
} |
536 |
cutscene_wait(2.5); |
537 |
break; |
538 |
case 65: |
539 |
cutscene_advance(); |
540 |
break; |
541 |
case 66: |
542 |
obj_pl.x = 1140; |
543 |
obj_pl.y = 100; |
544 |
obj_pl.direction = 0; |
545 |
cutscene_advance(); |
546 |
break; |
547 |
case 67: |
548 |
if (overlay_alpha > 0.01) |
549 |
{ |
550 |
overlay_alpha = lerp(overlay_alpha, 0, 0.2); |
551 |
} |
552 |
else |
553 |
{ |
554 |
overlay_alpha = 0; |
555 |
instance_create(0, 0, obj_flowey_world_spear_spawner); |
556 |
scr_cutscene_end(); |
557 |
cutscene_advance(); |
558 |
} |
559 |
break; |
560 |
case 68: |
561 |
if (instance_exists(obj_heart_flowey_world_split)) |
562 |
cutscene_advance(); |
563 |
break; |
564 |
case 69: |
565 |
cutscene_wait(3); |
566 |
break; |
567 |
case 70: |
568 |
obj_pl.x = 2320; |
569 |
obj_pl.y = 100; |
570 |
obj_pl.direction = 0; |
571 |
cutscene_advance(); |
572 |
break; |
573 |
case 71: |
574 |
if (overlay_alpha > 0.01) |
575 |
{ |
576 |
overlay_alpha = lerp(overlay_alpha, 0, 0.2); |
577 |
} |
578 |
else |
579 |
{ |
580 |
overlay_alpha = 0; |
581 |
cutscene_advance(); |
582 |
scr_cutscene_end(); |
583 |
} |
584 |
break; |
585 |
case 72: |
586 |
show_debug_message(obj_flowey_world_camera.x_min[4]); |
587 |
if (obj_pl.x < 2084) |
588 |
{ |
589 |
with (obj_flowey_world_lasers) |
590 |
lasers_activate = true; |
591 |
cutscene_advance(); |
592 |
} |
593 |
break; |
594 |
case 73: |
595 |
if (obj_flowey_world_lasers.lasers_active == true) |
596 |
{ |
597 |
instance_create_depth(obj_pl.x, obj_pl.y, obj_pl.depth, obj_flowey_world_clover_dead); |
598 |
cutscene_advance(); |
599 |
} |
600 |
break; |
601 |
case 74: |
602 |
cutscene_wait(1); |
603 |
break; |
604 |
case 75: |
605 |
instance_create_depth(camera_get_view_x(view_camera[0]) + 160, camera_get_view_y(view_camera[0]) + 80, obj_flowey_world_controller.depth - 1, obj_heart_flowey_world_split_fast); |
606 |
instance_destroy(obj_flowey_world_clover_dead); |
607 |
cutscene_advance(); |
608 |
break; |
609 |
case 76: |
610 |
cutscene_wait(3); |
611 |
break; |
612 |
case 77: |
613 |
global.dialogue_open = false; |
614 |
scr_audio_fade_outscr_audio_fade_outfunction 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); |
615 |
cutscene_advance(); |
616 |
break; |
617 |
case 78: |
618 |
if (!instance_exists(obj_flowey_world_text)) |
619 |
{ |
620 |
var msg = instance_create_depth(0, 0, -9999, obj_flowey_world_text); |
621 |
with (msg) |
622 |
message[0] = "* I had to steer you# off the path of failure# as early as possible."; |
623 |
} |
624 |
if (cutscene_wait(3.5)) |
625 |
global.dialogue_open = false; |
626 |
break; |
627 |
case 79: |
628 |
room = rm_flashback_01; |
629 |
obj_pl.x = 196; |
630 |
obj_pl.y = 120; |
631 |
obj_pl.image_alpha = 0; |
632 |
cutscene_advance(); |
633 |
break; |
634 |
case 80: |
635 |
layer_set_visible("pixelate", false); |
636 |
layer_set_visible("distort", false); |
637 |
cutscene_instance_create(196, 122, 81); |
638 |
break; |
639 |
case 81: |
640 |
if (overlay_alpha > 0.01) |
641 |
{ |
642 |
overlay_alpha = lerp(overlay_alpha, 0, 0.05); |
643 |
} |
644 |
else |
645 |
{ |
646 |
overlay_alpha = 0; |
647 |
cutscene_advance(); |
648 |
} |
649 |
break; |
650 |
case 82: |
651 |
obj_tampering_flowey.is_active = true; |
652 |
cutscene_advance(); |
653 |
break; |
654 |
case 83: |
655 |
if (!instance_exists(obj_flowey_world_text)) |
656 |
{ |
657 |
var msg = instance_create_depth(0, 0, -9999, obj_flowey_world_text); |
658 |
with (msg) |
659 |
{ |
660 |
message[0] = "* So I tampered with# a little switch and..."; |
661 |
message[1] = "* Well, the rest# is history!"; |
662 |
} |
663 |
} |
664 |
if (!global.dialogue_open) |
665 |
cutscene_advance(); |
666 |
break; |
667 |
case 84: |
668 |
if (overlay_alpha < 0.99) |
669 |
overlay_alpha = lerp(overlay_alpha, 1, 0.05); |
670 |
else |
671 |
cutscene_advance(); |
672 |
break; |
673 |
case 85: |
674 |
room = rm_flashback_03; |
675 |
cutscene_wait(1.5); |
676 |
break; |
677 |
case 86: |
678 |
obj_pl.direction = 90; |
679 |
instance_create_depth(camera_get_view_x(view_camera[0]) + 160, camera_get_view_y(view_camera[0]) + 40, -99999, obj_flowey_rooftop_big); |
680 |
instance_create(camera_get_view_x(view_camera[0]) + 160, camera_get_view_y(view_camera[0]) + 180, obj_player_npc); |
681 |
cutscene_advance(); |
682 |
break; |
683 |
case 87: |
684 |
if (overlay_alpha > 0.01) |
685 |
{ |
686 |
overlay_alpha = lerp(overlay_alpha, 0, 0.05); |
687 |
} |
688 |
else |
689 |
{ |
690 |
noise_pop = 0; |
691 |
cutscene_advance(); |
692 |
} |
693 |
break; |
694 |
case 88: |
695 |
if (!instance_exists(obj_dialogue_flowey_alone)) |
696 |
msg_flowey = instance_create(x, y, obj_dialogue_flowey_alone); |
697 |
if (!global.dialogue_open) |
698 |
{ |
699 |
cutscene_advance(); |
700 |
return true; |
701 |
} |
702 |
var flowey_face; |
703 |
with (msg_flowey) |
704 |
{ |
705 |
sndfnt = 96; |
706 |
message[0] = "* ..."; |
707 |
message[1] = "* Oh come on! You're still here?"; |
708 |
message[2] = "* I thought at least my story# might bore you so much that# you'd give in!"; |
709 |
message[3] = "* You really wanna do this the# hard way? "; |
710 |
message[4] = "* Haha, alright then!"; |
711 |
message[5] = "* Let's have a little fun before# I absorb your SOUL for good!"; |
712 |
switch (message_current) |
713 |
{ |
714 |
case 0: |
715 |
flowey_face = 2930; |
716 |
break; |
717 |
case 1: |
718 |
flowey_face = 3495; |
719 |
break; |
720 |
case 2: |
721 |
flowey_face = 699; |
722 |
break; |
723 |
case 3: |
724 |
flowey_face = 3573; |
725 |
break; |
726 |
case 4: |
727 |
flowey_face = 1953; |
728 |
break; |
729 |
case 5: |
730 |
flowey_face = 2921; |
731 |
break; |
732 |
default: |
733 |
flowey_face = 1358; |
734 |
break; |
735 |
} |
736 |
switch (message_current) |
737 |
{ |
738 |
case 3: |
739 |
case 4: |
740 |
if (other.noise_pop < message_current) |
741 |
{ |
742 |
other.noise_pop = message_current; |
743 |
instance_create_depth(obj_flowey_rooftop_big.x, obj_flowey_rooftop_big.y, -999990, obj_flowey_rooftop_noise); |
744 |
} |
745 |
break; |
746 |
} |
747 |
if (message_current == 3) |
748 |
{ |
749 |
sndfnt = 664; |
750 |
shake = true; |
751 |
} |
752 |
else |
753 |
{ |
754 |
sndfnt = 96; |
755 |
shake = false; |
756 |
} |
757 |
} |
758 |
obj_flowey_rooftop_big.sprite_index = flowey_face; |
759 |
break; |
760 |
case 89: |
761 |
var x_original = obj_player_npc.xstart; |
762 |
var y_original = obj_player_npc.ystart; |
763 |
if (shake_intensity < 1) |
764 |
{ |
765 |
shake_intensity = lerp(shake_intensity, 1.1, 0.02); |
766 |
} |
767 |
else |
768 |
{ |
769 |
obj_player_npc.x = x_original; |
770 |
obj_player_npc.y = y_original; |
771 |
cutscene_advance(); |
772 |
exit; |
773 |
} |
774 |
obj_player_npc.x = x_original; |
775 |
obj_player_npc.y = y_original; |
776 |
obj_player_npc.x = x_original + random_range(shake_intensity, -shake_intensity); |
777 |
obj_player_npc.y = y_original + random_range(shake_intensity, -shake_intensity); |
778 |
break; |
779 |
case 90: |
780 |
clover_hurt_count -= 1; |
781 |
audio_play_sound(snd_hurt, 1, 0); |
782 |
cutscene_instance_create(obj_player_npc.x, obj_player_npc.y, 293); |
783 |
cutscene_screenshake(0.5, 2); |
784 |
cutscene_advance(90.5); |
785 |
break; |
786 |
case 90.5: |
787 |
if (clover_hurt_count > 0) |
788 |
{ |
789 |
if (cutscene_wait(1)) |
790 |
cutscene_advance(90); |
791 |
} |
792 |
else if (cutscene_wait(1.5)) |
793 |
{ |
794 |
cutscene_advance(91); |
795 |
} |
796 |
break; |
797 |
case 91: |
798 |
instance_create_depth((obj_player_npc.x + 1) * 2, obj_player_npc.y * 2, obj_player_npc.depth + 1, obj_heart_flowey_battle_dummy); |
799 |
with (obj_player_npc) |
800 |
{ |
801 |
scr_clover_defragmentscr_clover_defragmentfunction scr_clover_defragment()
{
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 = 2;
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);
with (part)
{
target_x = other.x;
target_y = other.y;
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);
}
}
} (); |
802 |
instance_destroy(obj_player_npc, false); |
803 |
} |
804 |
cutscene_advance(); |
805 |
break; |
806 |
case 92: |
807 |
cutscene_wait(3); |
808 |
break; |
809 |
case 93: |
810 |
with (obj_heart_flowey_battle_dummy) |
811 |
{ |
812 |
x = lerp(x, 320, 0.05); |
813 |
y = lerp(y, 320, 0.05); |
814 |
if (point_distance(x, y, 320, 320) < 1) |
815 |
other.scene++; |
816 |
} |
817 |
break; |
818 |
case 94: |
819 |
global.battle_enemy_name = "flowey"; |
820 |
global.battling_boss = true; |
821 |
global.battle_start = true; |
822 |
global.sound_carry_overworld = false; |
823 |
if (room != rm_death_screen) |
824 |
global.current_room_overworld = room_get_name(room); |
825 |
instance_destroy(obj_heart_flowey_battle_dummy); |
826 |
room_goto(rm_battle_flowey Flowey - Phase 1 Battle Room); |
827 |
obj_flowey_rooftop_big.persistent = true; |
828 |
obj_flowey_rooftop_big.image_xscale_base *= 2; |
829 |
obj_flowey_rooftop_big.image_yscale_base *= 2; |
830 |
obj_flowey_rooftop_big.x *= 2; |
831 |
obj_flowey_rooftop_big.y *= 2; |
832 |
cutscene_advance(); |
833 |
break; |
834 |
case 95: |
835 |
cutscene_wait(1); |
836 |
break; |
837 |
case 96: |
838 |
with (instance_create_depth(obj_flowey_rooftop_big.x, obj_flowey_rooftop_big.y, -999990, obj_flowey_rooftop_noise)) |
839 |
{ |
840 |
image_xscale *= 2; |
841 |
image_yscale *= 2; |
842 |
} |
843 |
obj_flowey_rooftop_big.image_alpha = 0; |
844 |
cutscene_advance(); |
845 |
break; |
846 |
case 97: |
847 |
cutscene_wait(0.5); |
848 |
break; |
849 |
case 98: |
850 |
instance_create_depth(obj_flowey_rooftop_big.x, 140, -999990, obj_battle_flowey_body_1); |
851 |
instance_create_depth(obj_flowey_rooftop_big.x, 140, -999991, obj_flowey_battle_noise); |
852 |
global.image_alpha_enemy_attacking_immunity = true; |
853 |
instance_destroy(obj_flowey_rooftop_big); |
854 |
cutscene_advance(); |
855 |
break; |
856 |
case 99: |
857 |
cutscene_wait(1); |
858 |
break; |
859 |
case 100: |
860 |
while (instance_number(obj_battle_enemy_attack_fpellets) < 5) |
861 |
instance_create_depth(obj_battle_flowey_body_1.x, obj_battle_flowey_body_1.y, -1000, obj_battle_enemy_attack_fpellets); |
862 |
fight_music = audio_play_sound(mus_flowey_final_boss_1_intro, 1, 0); |
863 |
cutscene_advance(); |
864 |
break; |
865 |
case 101: |
866 |
cutscene_wait(1); |
867 |
break; |
868 |
case 102: |
869 |
instance_create_depth(367, 110, -999, obj_quote_bubble_battle); |
870 |
instance_create_depth(0, 0, -9999, obj_quote_battle_flowey_final_1); |
871 |
cutscene_advance(); |
872 |
break; |
873 |
case 103: |
874 |
if (instance_exists(obj_quote_battle_flowey_final_1)) |
875 |
exit; |
876 |
with (obj_battle_enemy_attack_fpellets) |
877 |
{ |
878 |
move = true; |
879 |
depth = obj_battle_flowey_body_1.depth - 1; |
880 |
} |
881 |
glitch_number = 0; |
882 |
cutscene_advance(); |
883 |
break; |
884 |
case 104: |
885 |
var mus_pos = audio_sound_get_track_position(fight_music); |
886 |
var mus_length = audio_sound_length(fight_music); |
887 |
var glitch_out = false; |
888 |
switch (glitch_number) |
889 |
{ |
890 |
case 0: |
891 |
if (mus_pos >= 8.7) |
892 |
glitch_out = true; |
893 |
break; |
894 |
case 1: |
895 |
if (mus_pos >= 11.1) |
896 |
glitch_out = true; |
897 |
break; |
898 |
case 2: |
899 |
if (mus_pos >= 14.4) |
900 |
glitch_out = true; |
901 |
break; |
902 |
case 3: |
903 |
if (mus_pos >= 16.5) |
904 |
glitch_out = true; |
905 |
break; |
906 |
case 4: |
907 |
if (mus_pos >= 17.5) |
908 |
glitch_out = true; |
909 |
obj_battle_flowey_body_1.image_alpha = 0; |
910 |
break; |
911 |
case 5: |
912 |
if (mus_pos >= 17.6) |
913 |
glitch_out = true; |
914 |
break; |
915 |
case 6: |
916 |
if (mus_pos >= mus_length) |
917 |
{ |
918 |
glitch_out = true; |
919 |
white_overlay_alpha = 1; |
920 |
global.battle_music = audio_play_sound(mus_flowey_final_boss_1_main, 1, 1); |
921 |
cutscene_advance(); |
922 |
} |
923 |
break; |
924 |
} |
925 |
if (glitch_out == true) |
926 |
{ |
927 |
instance_create_depth(0, 0, -99999999, obj_flowey_battle_screen_glitch); |
928 |
glitch_number += 1; |
929 |
} |
930 |
break; |
931 |
case 105: |
932 |
obj_battle_flowey_body_1.image_alpha = 1; |
933 |
global.image_alpha_enemy_attacking = 1; |
934 |
cutscene_advance(); |
935 |
instance_create_depth(0, 0, 0, obj_battle_flowey_background_ui); |
936 |
instance_destroy(obj_dialogue_box_battle_transformation_any_out); |
937 |
with (obj_dialogue_box_battle_transformation_any) |
938 |
event_user(0); |
939 |
scr_savegame_floweyscr_savegame_floweyfunction scr_savegame_flowey()
{
ini_open("Save.sav");
ini_write_real("Save1", "pX", obj_pl.x);
ini_write_real("Save1", "pY", obj_pl.y);
ini_write_real("Save1", "dir", obj_pl.direction);
var SavedRoom = room;
ini_write_real("Save1", "HP", global.current_hp_self);
ini_write_real("Save1", "MAXHP", global.max_hp_self);
ini_write_real("Save1", "PP", global.current_pp_self);
ini_write_real("Save1", "MAXPP", global.max_pp_self);
ini_write_real("Save1", "SP", global.current_sp_self);
ini_write_real("Save1", "MAXSP", global.max_sp_self);
ini_write_real("Save1", "RP", global.current_rp_self);
ini_write_real("Save1", "MAXRP", global.max_rp_self);
ini_write_real("Save1", "AT - Primary", global.player_attack);
ini_write_real("Save1", "AT - Secondary", global.player_weapon_modifier_attack);
ini_write_real("Save1", "DFP", global.player_defense);
ini_write_real("Save1", "DFS", global.player_armor_modifier_defense);
ini_write_real("Save1", "LV", global.player_level);
ini_write_real("Save1", "EXP", global.player_exp);
ini_write_real("Save1", "Gold", global.player_gold);
ini_write_string("Save1", "Armor", global.player_armor);
ini_write_string("Save1", "Weapon", global.player_weapon);
ini_write_string("Save1", "Ammo", global.player_weapon_modifier);
ini_write_string("Save1", "Accessory", global.player_armor_modifier);
ini_write_string("Save1", "rmName", "???");
ini_write_string("Save1", "playerSprite", global.player_sprites);
ini_write_real("Save1", "playerCanRun", global.player_can_run);
if (global.party_member == -4)
ini_write_string("Save1", "Follower", "noone");
else
ini_write_string("Save1", "Follower", object_get_name(global.party_member));
ini_write_real("Save1", "Satchel", global.player_has_satchel);
ini_write_real("Save1", "FTravel", global.player_can_travel);
scr_determine_playtime();
ini_write_real("Playtime", "Seconds", global.elapsed_seconds);
var ds_list_encounters = ds_list_write(global.encounter_list);
ini_write_string("Encounters", "0", ds_list_encounters);
var ds_list_steal = ds_list_write(global.steal_list);
ini_write_string("Steal", "0", ds_list_steal);
var ds_list_fasttravel = ds_list_write(global.fast_travel_list);
ini_write_string("FastTravel", "0", ds_list_fasttravel);
var inv1 = global.item_slot[1];
ini_write_string("Items", "00", global.item_slot[1]);
ini_write_string("Items", "01", global.item_slot[2]);
ini_write_string("Items", "02", global.item_slot[3]);
ini_write_string("Items", "03", global.item_slot[4]);
ini_write_string("Items", "04", global.item_slot[5]);
ini_write_string("Items", "05", global.item_slot[6]);
ini_write_string("Items", "06", global.item_slot[7]);
ini_write_string("Items", "07", global.item_slot[8]);
var ds_list_string = ds_list_write(global.box_slot_list);
ini_write_string("DBox", "0", ds_list_string);
ini_write_real("Misc", "01", global.tinypuzzle);
for (var i = 0; i < array_length_1d(global.ruins_flag); i++)
ini_write_real("RuinsFlags", string(i), global.ruins_flag[i]);
for (var i = 0; i < array_length_1d(global.flag); i++)
ini_write_real("Flags", string(i), global.flag[i]);
for (var i = 0; i < array_length_1d(global.snowdin_flag); i++)
ini_write_real("SnowdinFlags", string(i), global.snowdin_flag[i]);
for (var i = 0; i < array_length_1d(global.dunes_flag); i++)
ini_write_real("DunesFlags", string(i), global.dunes_flag[i]);
for (var i = 0; i < array_length_1d(global.dunes_flag_ext); i++)
ini_write_real("DunesFlagsExt", string(i), global.dunes_flag_ext[i]);
for (var i = 0; i < array_length_1d(global.sworks_flag); i++)
ini_write_real("SworksFlags", string(i), global.sworks_flag[i]);
ini_write_string("SworksFlags", "code", global.factory_code);
ds_list_string = ds_list_write(global.factory_code_2);
ini_write_string("SworksFlags", "code2", ds_list_string);
ini_write_string("SworksFlags", "code3", global.factory_code_3);
ini_write_real("SworksFlags", "RbCount", global.sworks_robot_count);
for (var i = 0; i < global.sworks_robot_count; i++)
{
ini_write_real("RbSprite", string(i), global.sworks_robot_sprite[i]);
ini_write_real("RbX", string(i), global.sworks_robot_x[i]);
ini_write_real("RbY", string(i), global.sworks_robot_y[i]);
ini_write_real("RbD", string(i), global.sworks_robot_depth[i]);
ini_write_real("RbS", string(i), global.sworks_robot_scale[i]);
ini_write_real("RbA", string(i), global.sworks_robot_angle[i]);
}
ini_write_string("SworksFlags", "sworks_id", ds_grid_write(global.sworks_id_grid));
for (var i = 0; i < array_length_1d(global.item_stock); i++)
ini_write_real("ItemStock", string(i), global.item_stock[i]);
for (var i = 0; i < array_length_1d(global.hotland_flag); i++)
ini_write_real("HotlandFlags", string(i), global.hotland_flag[i]);
for (var i = 0; i < array_length_1d(global.flowey_flag); i++)
ini_write_real("FloweyFlags", string(i), global.flowey_flag[i]);
ini_write_real("FloweyFlags", "savenumber", global.flowey_save_number);
for (var i = 0; i < array_length_1d(global.extra_flag); i++)
ini_write_real("ExtraFlags", string(i), global.extra_flag[i]);
for (var i = 0; i < array_length_1d(global.mail_flag); i++)
ini_write_real("MailFlags", string(i), global.mail_flag[i]);
ds_list_string = ds_list_write(global.mail_list);
ini_write_string("Mail", "0", ds_list_string);
ds_list_string = ds_list_write(global.mail_unclaimed_list);
ini_write_string("MailUnclaimed", "0", ds_list_string);
ini_write_real("Mail", "1", global.mail_count);
for (var i = 0; i <= 5; i++)
ini_write_real("Misc", string(i + 2), global.sideNpc[i]);
var ds_map_string = ds_map_write(global.npc_map);
... (); |
940 |
break; |
941 |
case 106: |
942 |
white_overlay_alpha = lerp(white_overlay_alpha, 0, 0.2); |
943 |
if (white_overlay_alpha < 0.01) |
944 |
{ |
945 |
obj_battle_flowey_body_1.depth = 0; |
946 |
obj_battle_flowey_body_1.can_draw_ghost = true; |
947 |
global.image_alpha_enemy_attacking_immunity = false; |
948 |
instance_destroy(); |
949 |
exit; |
950 |
} |
951 |
break; |
952 |
} |
953 |
if (scene >= 21 && scene < 42) |
954 |
{ |
955 |
obj_pl.x = actor_toriel.x; |
956 |
obj_pl.y = actor_toriel.y; |
957 |
} |