Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_flowey_battle_final_Step_0

(view raw script w/o annotations or w/e)
1
if (live_call())
2
    return global.live_result;
3
var fun_value_check = false;
4
if (global.fun_value >= 70)
5
    fun_value_check = true;
6
if (intro_noloop == false)
7
{
8
    switch (scene)
9
    {
10
        case 0:
11
            var song_pos = audio_sound_get_track_position(intro_song);
12
            for (var i = 0; i < array_length(timestamp); i++)
13
            {
14
                if (i == timestamp_current && song_pos >= timestamp[i])
15
                {
16
                    if (timestamp_current < (array_length(timestamp) - 1))
17
                    {
18
                        image_index = timestamp_image_index[i];
19
                        draw_alpha = 1;
20
                        timestamp_current += 1;
21
                    }
22
                    else
23
                    {
24
                        scene++;
25
                    }
26
                }
27
            }
28
            draw_alpha = lerp(draw_alpha, 0, 0.15);
29
            image_alpha = draw_alpha;
30
            break;
31
        case 1:
32
            if (white_alpha < 1)
33
                white_alpha += 0.25;
34
            else
35
                scene++;
36
            break;
37
        case 2:
38
            if (!instance_exists(obj_flowey_gray_eyes))
39
                instance_create_depth(320, 140, -200, obj_flowey_gray_eyes);
40
            sprite_index = spr_battle_flowey_gray_idle;
41
            draw_alpha = 1;
42
            image_alpha = 1;
43
            scene++;
44
            break;
45
        case 3:
46
            cutscene_wait(1);
47
            break;
48
        case 4:
49
            if (white_alpha > 0)
50
                white_alpha -= 0.03;
51
            else
52
                scene++;
53
            break;
54
        case 5:
55
            cutscene_wait(1);
56
            break;
57
        case 6:
58
            global.battle_music = audio_play_sound(mus_gotcha, 1, 1);
59
            scene++;
60
            break;
61
        case 7:
62
            if (cutscene_dialogue_final_flowey())
63
            {
64
                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; }
(global.battle_music, 500);
65
                cutscene_advance(7.5);
66
            }
67
            with (msg)
68
            {
69
                position = 0;
70
                sndfnt = 664;
71
                message[0] = "* H O W D Y .";
72
                message[1] = "* Have fun with your friend back#  there?";
73
                message[2] = "* Hahahahaha!!!";
74
                message[3] = "* Thought you slipped away for a#  second didn't ya?";
75
                message[4] = "* You are quite a vigilant one...";
76
                message[5] = "* Bet you could've outlasted#  ASGORE if you bothered to reach#  him.";
77
                message[6] = "* Even though your choices in#  this timeline are useless to me#  now...";
78
                message[7] = "* I didn't outright HATE our time#  together. Not all of it.";
79
                message[8] = "* Two lost souls deciding who#  lives or dies...";
80
                message[9] = "* Most of the time you were#  insufferable but when you gave#  in...";
81
                message[10] = "* ...Gave in to your true violent#  urges. That was the best part.";
82
                message[11] = "* That's when I knew you had it#  in you to fight the King.";
83
                message[12] = "* But that was so long ago, haha.#  Just look at you now!";
84
                message[13] = "* Barely recognizable!";
85
                message[14] = "* You know, some say yellow is#  the color of justice.";
86
                message[15] = "* Close, but that's not the word#  I would choose...";
87
                message[16] = "* Yellow is the color of#  judgment.";
88
                message[17] = "* Consequence...";
89
                message[18] = "* You would know, wouldn't you?";
90
                message[19] = "* ...";
91
                message[20] = "* Ahhh, you're right.";
92
                message[21] = "* Who cares about all that?";
93
                message[22] = "* Life's all about the thrill!#  How fun your experiences are!";
94
                message[23] = "* Our time here has been way#  better than any interaction out#  there!";
95
                message[24] = "* And I'm not looking for it to#  end any time soon!";
96
                message[25] = "* Of course, it can't last#  forever.";
97
                message[26] = "* After I overtake your SOUL,#  I'll kill ASGORE.";
98
                message[27] = "* I'll absorb all those poor#  children you couldn't save!";
99
                message[28] = "* Then and only then, I will#  become GOD.";
100
                message[29] = "* But for now... this is only the#  beginning. ";
101
                message[30] = "* So please, resist.";
102
                message[31] = "* Let's entertain each other a#  while longer.";
103
                message[32] = "* After all, in this world...";
104
            }
105
            break;
106
        case 7.5:
107
            if (cutscene_dialogue_giga(64, 150))
108
                cutscene_advance(8);
109
            with (msg)
110
            {
111
                position = 0;
112
                message[0] = " IT'S KILL OR BE KILLED";
113
            }
114
            break;
115
        case 8:
116
            audio_play_sound(mus_f_laugh, 1, 0);
117
            instance_destroy(obj_flowey_gray_eyes);
118
            sprite_index = spr_battle_flowey_gray_laugh;
119
            image_speed = 1;
120
            scene++;
121
            break;
122
        case 9:
123
            if (!audio_is_playing(mus_f_laugh))
124
            {
125
                sprite_index = spr_battle_flowey_gray_idle;
126
                image_speed = 1;
127
                if (!global.flowey_phase_2_noloop)
128
                {
129
                    global.flowey_phase_2_noloop = true;
130
                    scr_savegame_flowey
scr_savegame_flowey

function 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); ...
();
131
                    scene++;
132
                }
133
                else
134
                {
135
                    scene = 11;
136
                }
137
            }
138
            break;
139
        case 10:
140
            clover_shake_strength += 0.01;
141
            if (clover_shake_strength >= 2)
142
            {
143
                obj_heart_battle_fighting_yellow_final.image_xscale = 2;
144
                obj_heart_battle_fighting_yellow_final.image_yscale = 2;
145
                obj_heart_battle_fighting_yellow_final.image_alpha = 1;
146
                clover_alpha = 0;
147
                audio_play_sound(snd_undertale_flash, 1, 0);
148
                cutscene_advance(10.5);
149
            }
150
            clover_offset_x = irandom_range(-clover_shake_strength, clover_shake_strength);
151
            clover_offset_y = irandom_range(-clover_shake_strength, clover_shake_strength);
152
            break;
153
        case 10.5:
154
            obj_heart_battle_fighting_yellow_final.image_xscale = lerp(obj_heart_battle_fighting_yellow_final.image_xscale, 1, 0.1);
155
            soul_overlay_alpha = 1 - (2 - obj_heart_battle_fighting_yellow_final.image_xscale);
156
            if (obj_heart_battle_fighting_yellow_final.image_xscale <= 1.05)
157
            {
158
                obj_heart_battle_fighting_yellow_final.image_xscale = 1;
159
                soul_overlay_alpha = 0;
160
                cutscene_advance(11);
161
            }
162
            obj_heart_battle_fighting_yellow_final.image_yscale = obj_heart_battle_fighting_yellow_final.image_xscale;
163
            break;
164
        case 11:
165
            global.battle_music = audio_play_sound(music_flowey[0], 1, 1);
166
            instance_create_depth(0, 0, 0, controller_flowey[0]);
167
            obj_heart_battle_fighting_yellow_final.moveable = true;
168
            scene++;
169
            break;
170
        case 12:
171
            cutscene_wait(1);
172
            break;
173
        case 13:
174
            scene = 0;
175
            intro_noloop = true;
176
            break;
177
    }
178
}
179
else
180
{
181
    if (scene < 19)
182
    {
183
        hp_bar_alpha = lerp(hp_bar_alpha, 1, 0.15);
184
        if (hp_bar_alpha > 0.99)
185
            hp_bar_alpha = 1;
186
    }
187
    else
188
    {
189
        hp_bar_alpha = lerp(hp_bar_alpha, 0, 0.25);
190
        if (hp_bar_alpha < 0.01)
191
            hp_bar_alpha = 0;
192
    }
193
    if (stage_current == 0)
194
    {
195
        switch (scene)
196
        {
197
            case 0:
198
                cutscene_wait(switch_timer);
199
                break;
200
            case 1:
201
                var fight_end = true;
202
                for (var i = 0; i < array_length(petal_alive); i++)
203
                {
204
                    if (petal_alive[i] == 1)
205
                    {
206
                        instance_create_depth(0, 0, -999, obj_flowey_battle_screen_glitch_wheel);
207
                        scene++;
208
                        fight_end = false;
209
                        break;
210
                    }
211
                }
212
                if (fight_end == true)
213
                    scene = 5;
214
                else
215
                    instance_destroy(controller_flowey[0]);
216
                break;
217
            case 2:
218
                image_alpha -= 0.2;
219
                if (image_alpha <= 0)
220
                    scene++;
221
                break;
222
            case 3:
223
                if (!instance_exists(obj_flowey_battle_screen_glitch_wheel))
224
                {
225
                    instance_create_depth(320, 160, -100, obj_flowey_battle_gray_wheel);
226
                    scene++;
227
                }
228
                break;
229
            case 5:
230
                if (sprite_index != spr_battle_flowey_gray_neutral_3)
231
                {
232
                    instance_create_depth(0, 0, -99999999, obj_flowey_battle_screen_glitch_fight);
233
                    sprite_index = spr_battle_flowey_gray_neutral_3;
234
                }
235
                obj_flowey_battle_phase_2_controller_gray.attack_delay = 3;
236
                cutscene_wait(6);
237
                break;
238
            case 6:
239
                if (sprite_index != spr_battle_flowey_gray_neutral_2)
240
                {
241
                    instance_create_depth(0, 0, -99999999, obj_flowey_battle_screen_glitch_fight);
242
                    sprite_index = spr_battle_flowey_gray_neutral_2;
243
                }
244
                obj_flowey_battle_phase_2_controller_gray.attack_delay = 3.5;
245
                cutscene_wait(7);
246
                break;
247
            case 7:
248
                if (sprite_index != spr_battle_flowey_gray_neutral_1)
249
                {
250
                    instance_create_depth(0, 0, -99999999, obj_flowey_battle_screen_glitch_fight);
251
                    sprite_index = spr_battle_flowey_gray_neutral_1;
252
                }
253
                obj_flowey_battle_phase_2_controller_gray.attack_delay = 4;
254
                cutscene_wait(8);
255
                break;
256
            case 8:
257
                if (sprite_index != spr_battle_flowey_gray_neutral_0)
258
                {
259
                    instance_create_depth(0, 0, -99999999, obj_flowey_battle_screen_glitch_fight);
260
                    sprite_index = spr_battle_flowey_gray_neutral_0;
261
                }
262
                instance_destroy(controller_flowey[0], false);
263
                cutscene_wait(1);
264
                break;
265
            case 9:
266
                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; }
(global.battle_music, 3000);
267
                cutscene_dialogue_final_flowey();
268
                with (msg)
269
                {
270
                    skippable = false;
271
                    message_timer = 45;
272
                    position = 0;
273
                    message[0] = "* Hey.";
274
                    if (global.meta_flowey_fight_count >= 3 && !fun_value_check)
275
                        message[0] = "* ...";
276
                }
277
                break;
278
            case 10:
279
                obj_heart_battle_fighting_yellow_final.moveable = true;
280
                cutscene_instance_create(0, 0, 349);
281
                break;
282
            case 11:
283
                if (instance_exists(obj_flowey_battle_gray_spawner_pathetic1))
284
                    exit;
285
                cutscene_dialogue_final_flowey();
286
                with (msg)
287
                {
288
                    skippable = false;
289
                    message_timer = 45;
290
                    position = 0;
291
                    message[0] = "* Hey!";
292
                    if (global.meta_flowey_fight_count >= 3 && !fun_value_check)
293
                        message[0] = "* And here we go.";
294
                }
295
                break;
296
            case 12:
297
                obj_heart_battle_fighting_yellow_final.moveable = true;
298
                cutscene_instance_create(0, 0, 519);
299
                break;
300
            case 13:
301
                if (instance_exists(obj_flowey_battle_gray_spawner_pathetic2))
302
                    exit;
303
                cutscene_dialogue_final_flowey();
304
                with (msg)
305
                {
306
                    skippable = false;
307
                    message_timer = 45;
308
                    position = 0;
309
                    message[0] = "* Just give up!";
310
                    if ((global.meta_flowey_fight_count >= 1 && global.meta_flowey_fight_count < 3) || (global.meta_flowey_fight_count >= 3 && fun_value_check))
311
                        message[0] = "* Come on!";
312
                    else if (global.meta_flowey_fight_count >= 3)
313
                        message[0] = "* Uh-huh...";
314
                }
315
                break;
316
            case 14:
317
                obj_heart_battle_fighting_yellow_final.moveable = true;
318
                cutscene_instance_create(0, 0, 136);
319
                break;
320
            case 15:
321
                if (instance_exists(obj_flowey_battle_gray_spawner_pathetic3))
322
                    exit;
323
                cutscene_dialogue_final_flowey();
324
                with (msg)
325
                {
326
                    skippable = false;
327
                    message_timer = 45;
328
                    position = 0;
329
                    message[0] = "* WHAT IS WRONG WITH YOU???";
330
                    if (global.meta_flowey_fight_count == 1)
331
                        message[0] = "* Idiot!";
332
                    if (global.meta_flowey_fight_count == 2)
333
                        message[0] = "* Please!";
334
                    if (global.meta_flowey_fight_count >= 3 && !fun_value_check)
335
                        message[0] = "* I really hate you, you know that?";
336
                    if (global.meta_flowey_fight_count >= 3 && fun_value_check)
337
                        message[0] = "* ...";
338
                }
339
                break;
340
            case 16:
341
                obj_heart_battle_fighting_yellow_final.moveable = true;
342
                cutscene_instance_create(0, 0, 472);
343
                break;
344
            case 17:
345
                if (instance_exists(obj_flowey_battle_gray_spawner_pathetic4))
346
                    exit;
347
                obj_heart_battle_fighting_yellow_final.moveable = false;
348
                cutscene_dialogue_final_flowey();
349
                with (msg)
350
                {
351
                    skippable = false;
352
                    message_timer = 60;
353
                    position = 0;
354
                    message[0] = "* Y o u . . .";
355
                    if (global.meta_flowey_fight_count >= 1)
356
                        message[0] = "* . . . . . .";
357
                    if (global.meta_flowey_fight_count >= 3 && fun_value_check)
358
                        message[0] = "* ......";
359
                }
360
                break;
361
            case 18:
362
                obj_heart_battle_fighting_yellow_final.x = lerp(obj_heart_battle_fighting_yellow_final.x, 320, 0.2);
363
                obj_heart_battle_fighting_yellow_final.y = lerp(obj_heart_battle_fighting_yellow_final.y, 400, 0.2);
364
                cutscene_wait(3);
365
                break;
366
            case 19:
367
                if (!obj_flowey_gray_eyes.alarm[0])
368
                    obj_flowey_gray_eyes.alarm[0] = 90;
369
                var camw_old = camera_get_view_width(view_camera[0]);
370
                var camh_old = camera_get_view_height(view_camera[0]);
371
                var camx_old = camera_get_view_x(view_camera[0]);
372
                var camy_old = camera_get_view_y(view_camera[0]);
373
                camera_set_view_size(view_camera[0], camw_old - 0.2, camh_old - 0.2);
374
                camera_set_view_pos(view_camera[0], camx_old + 0.1, camy_old + 0.05);
375
                cutscene_wait(8);
376
                break;
377
            case 20:
378
                obj_flowey_gray_eyes.stare_at_screen = false;
379
                obj_flowey_gray_eyes.alarm[0] = false;
380
                var camw_old = camera_get_view_width(view_camera[0]);
381
                var camh_old = camera_get_view_height(view_camera[0]);
382
                var camx_old = camera_get_view_x(view_camera[0]);
383
                var camy_old = camera_get_view_y(view_camera[0]);
384
                var camw_new = lerp(camw_old, 640, 0.3);
385
                var camh_new = lerp(camh_old, 480, 0.3);
386
                var camx_new = lerp(camx_old, 0, 0.3);
387
                var camy_new = lerp(camy_old, 0, 0.3);
388
                camera_set_view_size(view_camera[0], camw_new, camh_new);
389
                camera_set_view_pos(view_camera[0], camx_new, camy_new);
390
                if (abs(camw_new - 640) < 0.01)
391
                {
392
                    camera_set_view_size(view_camera[0], 640, 480);
393
                    camera_set_view_pos(view_camera[0], 0, 0);
394
                    scene++;
395
                }
396
                break;
397
            case 21:
398
                instance_destroy(obj_flowey_gray_eyes);
399
                sprite_index = spr_battle_flowey_gray_sidelook;
400
                cutscene_dialogue_final_flowey();
401
                with (msg)
402
                {
403
                    position = 0;
404
                    sndfnt = 96;
405
                    if (global.meta_flowey_fight_count == 0)
406
                    {
407
                        message[0] = "* ...";
408
                        message[1] = "* Useless...";
409
                        message[2] = "* Even now...";
410
                        message[3] = "* All of it.";
411
                    }
412
                    else if (global.meta_flowey_fight_count == 1)
413
                    {
414
                        message[0] = "* ...";
415
                        message[1] = "* Heh.";
416
                    }
417
                    else if (global.meta_flowey_fight_count == 2)
418
                    {
419
                        message[0] = "* ...";
420
                        message[1] = "* What is this?";
421
                    }
422
                    else if (global.meta_flowey_fight_count == 3)
423
                    {
424
                        message[0] = "* Great.";
425
                    }
426
                    if (global.meta_flowey_fight_count == 3 && fun_value_check)
427
                        message[0] = "* . . . . . .";
428
                }
429
                break;
430
            case 22:
431
                cutscene_instance_create(x, y, 787);
432
                break;
433
            case 23:
434
                cutscene_wait(0.1);
435
                break;
436
            case 24:
437
                instance_destroy();
438
                instance_create_depth(320, 220, -100, obj_flowey_battle_final_ending_cutscene);
439
                obj_flowey_battle_final_ending_cutscene.fun_value_check = fun_value_check;
440
                break;
441
        }
442
    }
443
    if (stage_switch != -1)
444
    {
445
        if (!instance_exists(obj_flowey_battle_phase_2_transition))
446
        {
447
            instance_create(0, 0, obj_flowey_battle_phase_2_transition);
448
        }
449
        else if (obj_flowey_battle_phase_2_transition.fade_out == true)
450
        {
451
            if (stage_switch == 0)
452
            {
453
                scene = 0;
454
                if (petal_count < 6)
455
                    switch_timer = 20;
456
                instance_create_depth(320, 140, -100, obj_flowey_battle_phase_2_green_petal_spawner);
457
                obj_heart_battle_fighting_yellow_final.is_charging = false;
458
                obj_heart_battle_fighting_yellow_final.sprite_index = spr_heart_yellow_down;
459
                obj_heart_battle_fighting_yellow_final.image_index = 0;
460
                obj_heart_battle_fighting_yellow_final.image_speed = 0;
461
                obj_heart_battle_fighting_yellow_final.alarm[1] = -1;
462
                petal_count -= 1;
463
                if (petal_count == 4 || petal_count == 2 || petal_count == 0)
464
                    scr_battle_save
scr_battle_save

function scr_battle_save() { if (file_exists("tempsave.sav")) file_delete("tempsave.sav"); ini_open("tempsave.sav"); 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", "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", "Ammo", global.player_weapon_modifier); ini_write_string("Save1", "Weapon", global.player_weapon); ini_write_string("Save1", "Accessory", global.player_armor_modifier); ini_write_string("Save1", "rmName", global.saveroom); ini_write_string("Save1", "playerSprite", global.player_sprites); ini_write_real("Save1", "ffight", global.fighting_flowey); if (instance_exists(obj_radio)) ini_write_real("Save1", "owms", obj_radio.bgm); 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]); if (global.battle_enemy_name == "flowey") { ini_write_real("Special", "0", global.flowey_battle_1_phase); var list_string = ds_list_write(global.flowey_attack_list); ini_write_string("Special", "1", list_string); list_string = ds_list_write(global.flowey_stolen_attack_list); ini_write_string("Special", "2", list_string); list_string = ds_list_write(global.flowey_room_list); ini_write_string("Special", "3", list_string); ini_write_real("Special", "4", global.flowey_attack_number); } else if (global.battle_enemy_name == "flowey2") { for (var i = 0; i < array_length(obj_flowey_battle_final.petal_alive); i++) ini_write_real("petal", string(i), obj_flowey_battle_final.petal_alive[i]); ini_write_real("petal", "count", obj_flowey_battle_final.petal_count); } ini_close(); }
();
465
            }
466
            sprite_index = sprite_flowey[stage_switch];
467
            image_alpha = 1;
468
            instance_destroy(obj_flowey_battle_gray_wheel_petals_special);
469
            instance_destroy(obj_flowey_battle_gray_wheel);
470
            if (instance_exists(obj_flowey_battle_gray_vine_grab))
471
            {
472
                obj_flowey_battle_gray_vine_grab.sprite_index = spr_battle_flowey_gray_ungrab;
473
                obj_flowey_battle_gray_vine_grab.image_index = 0;
474
                obj_flowey_battle_gray_vine_grab.image_speed = 1;
475
            }
476
            audio_stop_sound(global.battle_music);
477
            global.battle_music = audio_play_sound(music_flowey[stage_switch], 1, 1);
478
            for (var i = 0; i < array_length(controller_flowey); i++)
479
            {
480
                if (i != stage_switch && instance_exists(controller_flowey[i]))
481
                    instance_destroy(controller_flowey[i]);
482
                if (i == stage_switch && !instance_exists(controller_flowey[i]))
483
                {
484
                    instance_create_depth(0, 0, 0, controller_flowey[i]);
485
                    obj_heart_battle_fighting_yellow_final.moveable = true;
486
                    obj_heart_battle_fighting_parent.can_shoot = true;
487
                }
488
            }
489
            stage_current = stage_switch;
490
            stage_switch = -1;
491
        }
492
    }
493
}