Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_flowey_1_attack_10_creator_Step_0

(view raw script w/o annotations or w/e)
1
if live_call()
2
    return global.live_result;
3
if (room == rm_battle_flowey)
4
{
5
    obj_dialogue_box_battle_transformation_any.depth = -500
6
    obj_battle_hp_current_self.y = 20
7
    obj_battle_hp_max_self.y = 20
8
    obj_text_hp.y = 25
9
    obj_text_hp_stat.y = 9999
10
    obj_heart_battle_fighting_parent.depth = -501
11
}
12
flowey_face_sprite = 2602
13
if (global.flowey_battle_1_phase == 1)
14
{
15
    switch scene
16
    {
17
        case 1:
18
        case 3:
19
        case 5:
20
        case 7:
21
            var dir = irandom_range(0, 359)
22
            var xx = obj_heart_battle_fighting_parent.x + (lengthdir_x(110, dir))
23
            var yy = obj_heart_battle_fighting_parent.y + (lengthdir_y(110, dir))
24
            instance_create_depth(xx, yy, (depth - 1), obj_glowey_1_attack_eye)
25
            scene++
26
            break
27
        case 0:
28
        case 2:
29
        case 4:
30
        case 6:
31
            cutscene_wait(0.5)
32
            break
33
        case 8:
34
            var spawner = instance_create_depth(0, 100, -9999, obj_flowey_1_attack_10_flower_spawner)
35
            spawner.hspeed = 5
36
            scene++
37
            break
38
        case 9:
39
            cutscene_wait(3)
40
            break
41
        case 10:
42
            instance_create_depth(320, 600, (depth + 1), obj_battle_enemy_attack_flower_jump)
43
            scene++
44
            break
45
        case 11:
46
            cutscene_wait(0.75)
47
            break
48
        case 12:
49
            instance_create_depth(100, 640, (depth + 1), obj_battle_enemy_attack_flower_jump)
50
            instance_create_depth(540, 640, (depth + 1), obj_battle_enemy_attack_flower_jump)
51
            scene++
52
            break
53
        case 13:
54
            if (!instance_exists(obj_battle_enemy_attack_flower_jump))
55
                cutscene_wait(3.5)
56
            break
57
        case 14:
58
            can_transition = true
59
            break
60
    }
61
62
}
63
else if (global.flowey_battle_1_phase == 2)
64
{
65
    switch scene
66
    {
67
        case 0:
68
            var bullet_count = room_height / 60
69
            xx = -60
70
            for (var i = 0; i < bullet_count; i++)
71
            {
72
                var bullet = instance_create_depth(xx, (30 + i * 60), -700, obj_flowey_1_attack_flower_lanes)
73
                if (xx > 320)
74
                {
75
                    xx = -60
76
                    bullet.hspeed = -10
77
                }
78
                else
79
                {
80
                    xx = 700
81
                    bullet.hspeed = 10
82
                }
83
            }
84
            scene++
85
            break
86
        case 1:
87
            cutscene_wait(2)
88
            break
89
        case 2:
90
            bullet_count = room_width / 60
91
            yy = -60
92
            for (i = 0; i < bullet_count; i++)
93
            {
94
                bullet = instance_create_depth((30 + 60 * i), yy, -700, obj_flowey_1_attack_flower_lanes)
95
                if (yy > 320)
96
                {
97
                    yy = -60
98
                    bullet.vspeed = -10
99
                }
100
                else
101
                {
102
                    yy = 560
103
                    bullet.vspeed = 10
104
                }
105
            }
106
            scene++
107
            break
108
        case 3:
109
            cutscene_wait(1)
110
            break
111
        case 4:
112
            var attack = instance_create_depth((room_width + 40), 30, -700, obj_battle_enemy_attack_flower_jump_side)
113
            attack.hspeed = -8
114
            scene++
115
            break
116
        case 5:
117
            cutscene_wait(0.5)
118
            break
119
        case 6:
120
            attack = instance_create_depth(-40, 45, -700, obj_battle_enemy_attack_flower_jump_side)
121
            attack.hspeed = 8
122
            scene++
123
            break
124
        case 7:
125
            cutscene_wait(0.5)
126
            break
127
        case 8:
128
        case 10:
129
        case 12:
130
        case 14:
131
            var side = choose(1, 2, 3)
132
            var angle = 0
133
            switch side
134
            {
135
                case 1:
136
                    yy = 4
137
                    xx = irandom_range(40, 600)
138
                    angle = 270
139
                    break
140
                case 2:
141
                    xx = room_width - 4
142
                    yy = irandom_range(40, 440)
143
                    angle = 180
144
                    break
145
                case 3:
146
                    xx = 4
147
                    yy = irandom_range(40, 440)
148
                    angle = 0
149
                    break
150
            }
151
152
            var new_flowey = instance_create_depth(xx, yy, -700, obj_flowey_1_attack_10_flower)
153
            new_flowey.image_angle = angle - 90
154
            scene++
155
            break
156
        case 9:
157
        case 11:
158
        case 13:
159
            cutscene_wait(1)
160
            break
161
        case 15:
162
            cutscene_wait(3)
163
            break
164
        case 16:
165
            can_transition = true
166
            break
167
    }
168
169
}
170
else if (global.flowey_battle_1_phase == 3)
171
{
172
    switch scene
173
    {
174
        case 0:
175
            _bullet_count = 7
176
            scene++
177
            break
178
        case 1:
179
            _bullet_count--
180
            attack = instance_create_depth(irandom_range(80, 560), -45, -700, obj_battle_enemy_attack_flower_jump_side)
181
            attack.hspeed = irandom_range(-2, 2)
182
            attack.alarm[0] += irandom_range(-10, 10)
183
            scene++
184
            break
185
        case 2:
186
            cutscene_wait(0.6)
187
            break
188
        case 3:
189
            if (_bullet_count > 0)
190
                cutscene_advance(1)
191
            else
192
                cutscene_advance()
193
            break
194
        case 4:
195
            spawner = instance_create_depth(320, -50, -9999, obj_flowey_1_attack_10_flower_spawner)
196
            spawner.vspeed = 5
197
            scene++
198
            break
199
        case 5:
200
            cutscene_wait(3)
201
            break
202
        case 6:
203
            _bullet_count = 4
204
            scene++
205
            break
206
        case 7:
207
            _bullet_count--
208
            dir = irandom_range(0, 359)
209
            xx = obj_heart_battle_fighting_parent.x + (lengthdir_x(110, dir))
210
            yy = obj_heart_battle_fighting_parent.y + (lengthdir_y(110, dir))
211
            instance_create_depth(xx, yy, (depth - 1), obj_glowey_1_attack_eye)
212
            scene++
213
            break
214
        case 8:
215
            cutscene_wait(0.6)
216
            break
217
        case 9:
218
            if (_bullet_count > 0)
219
                cutscene_advance(7)
220
            else
221
                cutscene_advance()
222
            break
223
        case 10:
224
            cutscene_wait(0.25)
225
            break
226
        case 11:
227
            spawner = instance_create_depth(room_width, 100, -9999, obj_flowey_1_attack_10_flower_spawner)
228
            spawner.hspeed = -5
229
            scene++
230
        case 12:
231
            cutscene_wait(3)
232
            break
233
        case 13:
234
            can_transition = true
235
            break
236
    }
237
238
}
239
if (can_transition == true)
240
{
241
    if instance_exists(obj_heart_battle_fighting_parent)
242
        obj_heart_battle_fighting_parent.vulnerable = false
243
    switch transition_stage
244
    {
245
        case 0:
246
            scene = -1
247
            layer_set_visible("twirl_", true)
248
            var _fx_twirl = layer_get_fx("twirl_")
249
            var _params = fx_get_parameters(_fx_twirl)
250
            _params.g_DistortAngle = [distort_current]
251
            fx_set_parameters(_fx_twirl, _params)
252
            distort_current += 7
253
            if (distort_current >= 200)
254
            {
255
                transition_overlay_alpha += 0.05
256
                if (transition_overlay_alpha >= 1)
257
                {
258
                    persistent = true
259
                    ds_list_shuffle(global.flowey_room_list)
260
                    var next_room = ds_list_find_value(global.flowey_room_list, 0)
261
                    ds_list_delete(global.flowey_room_list, 0)
262
                    room = next_room
263
                    switch next_room
264
                    {
265
                        case rm_battle_flashback_01:
266
                            obj_pl.x = 170
267
                            obj_pl.y = 290
268
                            break
269
                        case 227:
270
                            obj_pl.x = 180
271
                            obj_pl.y = 130
272
                            break
273
                        case 228:
274
                            obj_pl.x = 300
275
                            obj_pl.y = 2630
276
                            break
277
                        case 229:
278
                            obj_pl.x = 160
279
                            obj_pl.y = 120
280
                            break
281
                        case 230:
282
                            obj_pl.x = 300
283
                            obj_pl.y = 2640
284
                            break
285
                        case 231:
286
                            obj_pl.x = 860
287
                            obj_pl.y = 40
288
                            break
289
                    }
290
291
                    obj_pl.image_alpha = 1
292
                    transition_stage += 1
293
                    global.flowey_battle_1_phase += 1
294
                }
295
            }
296
            break
297
        case 1:
298
            if (!instance_exists(obj_flowey_battle_ow_controller))
299
                instance_create(0, 0, obj_flowey_battle_ow_controller)
300
            transition_overlay_alpha -= 0.05
301
            if (transition_overlay_alpha <= 0)
302
            {
303
                scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() //gml_Script_scr_cutscene_end { global.cutscene = false obj_pl.alarm[0] = 1 }
()
304
                instance_destroy()
305
            }
306
            break
307
    }
308
309
}