Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_o_boxingqueen_Step_0

(view raw script w/o annotations or w/e)
1
if (instance_exists(obj_thrash_intro) || instance_exists(obj_thrash_transformation_transition))
2
    exit;
3
if (phase_transition > 0 && state != 1)
4
{
5
    state = 1;
6
    sprite_index = spr_bqueen_hurt;
7
}
8
if (wheelsoundtimer > 0)
9
    wheelsoundtimer--;
10
if (phaseprevious != o_boxinghud.sub_healthbar_count)
11
    attackorderlooping = 0;
12
phaseprevious = o_boxinghud.sub_healthbar_count;
13
if (state == 0)
14
{
15
    x = basex;
16
    bouncetimer += 1;
17
    hurt_fx1_timer = 0;
18
    var bounce_speed_down = 0.7;
19
    var bounce_speed_up = 0.7;
20
    if (o_boxinghud.sub_healthbar_count == 1 && o_boxingcontroller.wireframe_boxing == 0)
21
        bounce_speed_down = 1;
22
    if (o_boxinghud.sub_healthbar_count == 0 && o_boxingcontroller.wireframe_boxing == 0)
23
        bounce_speed_down = 2;
24
    if (o_boxingcontroller.wireframe_boxing == 0 && o_boxingcontroller.dead == 1)
25
    {
26
    }
27
    else
28
    {
29
        if (bouncetimer == 5)
30
        {
31
            y = basey;
32
            vspeed = -3 * f * bounce_speed_up;
33
        }
34
        if (bouncetimer >= 6)
35
        {
36
            vspeed += (0.35 * (f * 1.6) * bounce_speed_down);
37
            if (y >= basey)
38
            {
39
                if (image_index == 0)
40
                    image_index = 1;
41
                else
42
                    image_index = 0;
43
                vspeed = 0;
44
                y = basey;
45
                bouncetimer = 3;
46
            }
47
        }
48
    }
49
    fliptimer += 1;
50
    if (fliptimer >= flipthreshold)
51
    {
52
        if (instance_exists(o_boxing_wireframe))
53
        {
54
        }
55
        else
56
        {
57
            drawflip = choose(0, 1);
58
        }
59
        blocking = drawflip;
60
        fliptimer = 0;
61
    }
62
    if (myturn == 0)
63
        movetimer = 0;
64
    movetimer++;
65
    var can_attack = 1;
66
    if (instance_exists(o_boxing_wireframe) && o_boxing_wireframe.pacifist_state >= 0 && o_boxing_wireframe.pacifist_timer < 301)
67
        can_attack = 0;
68
    if (instance_exists(o_boxing_wireframe) && o_boxingcontroller.dead >= 4)
69
        can_attack = 0;
70
    if (instance_exists(o_boxing_wireframe) && o_boxing_wireframe.pacifist_state >= 1)
71
        can_attack = 0;
72
    if (o_boxingcontroller.health_count < 1)
73
        can_attack = 0;
74
    if (o_boxingcontroller.wireframe_boxing == 0 && o_boxingcontroller.dead == 1)
75
    {
76
        can_attack = 0;
77
        player_dead_timer++;
78
        movetimer--;
79
        with (o_boxingcontroller)
80
            boxingtimer++;
81
        drawflip = 0;
82
        if (player_dead_timer == (2 / f))
83
        {
84
            sprite_index = spr_bqueen_pirouette;
85
            image_index = 0;
86
            vspeed = -48 / f;
87
        }
88
        if (player_dead_timer > (4 / f) && sprite_index == spr_bqueen_pirouette)
89
        {
90
            image_index += 0.4;
91
            gravity = 2.8;
92
        }
93
        if (player_dead_timer > (6 / f) && sprite_index == spr_bqueen_pirouette && y > (basey + 70))
94
        {
95
            sprite_index = spr_bqueen_idle;
96
            image_index = 0;
97
            vspeed = 0;
98
            gravity = 0;
99
            gravity = 0;
100
            hspeed = 0;
101
            y = basey + 100;
102
            player_dead_timer = 210 / f;
103
        }
104
        if (player_dead_timer >= (212 / f) && player_dead_timer < (270 / f))
105
        {
106
            if (arcade)
107
            {
108
                if (image_index == 0)
109
                {
110
                    if (arcade)
111
                        snd_play(snd_squeaky_bc);
112
                }
113
            }
114
            else if (image_index == 0)
115
            {
116
                snd_play(snd_squeaky);
117
            }
118
            sprite_index = spr_bqueen_ducking;
119
            image_index += 0.25;
120
            if (image_index >= 2)
121
                image_index = 0;
122
        }
123
        if (player_dead_timer == 158)
124
            snd_play(snd_queen_laugh_0);
125
        if (player_dead_timer > (310 / f))
126
        {
127
            sprite_index = spr_bqueen_laugh;
128
            image_index += 0.25;
129
        }
130
        if (player_dead_timer == (340 / f))
131
        {
132
            instance_create(0, 0, obj_closing_block_left);
133
            instance_create(640, 0, obj_closing_block_right);
134
            instance_create(0, 0, obj_boxing_loss_controller);
135
        }
136
    }
137
    if ((movetimer >= attackthreshold && can_attack == 1 && !instance_exists(o_bq_whitefade_persistent) && o_boxingcontroller.attackintrocon == 0 && o_boxingcontroller.dead == 0) || (movetimer >= attackthreshold && can_attack == 1 && !instance_exists(o_bq_whitefade_persistent) && o_boxingcontroller.dead == 0 && attackpattern == 99))
138
    {
139
        movetimer = 0;
140
        event_user(2);
141
    }
142
}
143
else
144
{
145
    bouncetimer = 0;
146
}
147
if (state == 1)
148
{
149
    movetimer++;
150
    hurttimer += 1;
151
    snd_pitch(snd_bell_bounce_short, 1);
152
    if (hurttimer == 1 && o_boxingcontroller.wireframe_boxing == 0)
153
    {
154
        if (o_boxingcontroller.wireframe_boxing == 0 && dizzytimer >= (30 / f))
155
        {
156
            sprite_index = spr_bqueen_hurt_v;
157
            hurt_fx1_timer = 1;
158
            hurt_fx1_state = 1;
159
        }
160
        fff = 0;
161
        if (drawflip == 0)
162
            fff = -1;
163
        if (drawflip == 1)
164
            fff = 1;
165
        for (i = 0; i < 5; i++)
166
        {
167
            flameparticle = instance_create(x + (40 * fff), y - 194, o_boxingflame);
168
            flameparticle.direction = (60 + random(50)) - (fff * 30);
169
            flameparticle.dustmode = 1;
170
            flameparticle.speed = 8 + random(8);
171
            flameparticle.friction = 2;
172
            flameparticle.sprite_index = spr_bhero_dust;
173
        }
174
    }
175
    if (o_boxingcontroller.wireframe_boxing == 1 && phase_transition == 0)
176
    {
177
        sprite_index = spr_bqueen_hurt_effect_wireframe;
178
        image_index = 1;
179
    }
180
    if (arcade)
181
    {
182
        if (audio_is_playing(snd_queen_laugh_0_bc))
183
            audio_stop_sound(snd_queen_laugh_0_bc);
184
        else if (audio_is_playing(snd_queen_laugh_0))
185
            audio_stop_sound(snd_queen_laugh_0);
186
    }
187
    if (times_hit_in_a_row > 1 && health_count > 0 && phase_transition < 1 && o_boxingcontroller.wireframe_boxing == 1)
188
    {
189
        invincible_l = 1;
190
        invincible_r = 1;
191
        movetimer = attackthreshold;
192
        friction = 0;
193
        gravity = 0;
194
        hurt_fx1_timer += 1;
195
        if (hurt_fx1_timer == 1)
196
        {
197
            if (o_boxingcontroller.lastpunchside == -1)
198
                drawflip = 1;
199
            else
200
                drawflip = 0;
201
        }
202
        if (hurt_fx1_timer > 7)
203
            hurt_fx1_timer = 1;
204
        if (hurt_fx1_timer > 0 && hurt_fx1_timer < 38)
205
        {
206
            sprite_index = spr_bqueen_hurt_effect_wireframe;
207
            image_index = 1;
208
            movetimer -= 1;
209
            if (hurt_fx1_state == 1)
210
            {
211
                if (hurt_fx1_timer == 3)
212
                    hurt_fx1_state = 2;
213
                if (drawflip == 1)
214
                    x += ((5 - hurt_fx1_timer) * 5);
215
                if (drawflip == 0)
216
                    x -= ((5 - hurt_fx1_timer) * 5);
217
                y -= ((5 - hurt_fx1_timer) * 2);
218
            }
219
            if (hurt_fx1_state == 2)
220
            {
221
                hurt_fx1_timer2++;
222
                if (hurt_fx1_timer2 > 5)
223
                {
224
                    if (drawflip == 1)
225
                        x -= 12.5;
226
                    if (drawflip == 0)
227
                        x += 12.5;
228
                    y += 12.5;
229
                }
230
                if (hurt_fx1_timer2 > 7)
231
                {
232
                    x = basex;
233
                    y = basey;
234
                    hurt_fx1_timer = 0;
235
                    hurt_fx1_timer2 = 0;
236
                    hurt_fx1_state = 1;
237
                    times_hit_in_a_row = 0;
238
                    invincible_l = 0;
239
                    invincible_r = 0;
240
                    movetimer = 70;
241
                    dizzytimer = 0;
242
                    shortcomboend = 0;
243
                    event_user(2);
244
                    if (attacktype == 8)
245
                    {
246
                        invincible_l = 1;
247
                        invincible_r = 1;
248
                    }
249
                }
250
            }
251
            exit;
252
        }
253
    }
254
    if ((times_hit_in_a_row > 2 && health_count > 0 && phase_transition < 1 && o_boxingcontroller.laseractive == 0 && o_boxingcontroller.wireframe_boxing == 0 && shortcomboend == 0) || (times_hit_in_a_row > 3 && health_count > 0 && phase_transition < 1 && o_boxingcontroller.laseractive == 1 && o_boxingcontroller.wireframe_boxing == 0 && shortcomboend == 0))
255
    {
256
        movetimer = attackthreshold;
257
        hurt_fx1_timer += 1;
258
        if (hurt_fx1_timer == 1)
259
        {
260
            if (o_boxingcontroller.lastpunchside == -1)
261
                drawflip = 1;
262
            else
263
                drawflip = 0;
264
        }
265
        if (hurt_fx1_timer > 7)
266
            hurt_fx1_timer = 1;
267
        if (hurt_fx1_timer > 0 && hurt_fx1_timer < 38)
268
        {
269
            sprite_index = spr_bqueen_hurt;
270
            movetimer -= 1;
271
            if (hurt_fx1_state == 1)
272
            {
273
                if (hurt_fx1_timer == 6)
274
                    hurt_fx1_state = 2;
275
                if (drawflip == 1)
276
                    x += ((6 - hurt_fx1_timer) * 5);
277
                if (drawflip == 0)
278
                    x -= ((6 - hurt_fx1_timer) * 5);
279
                y -= ((6 - hurt_fx1_timer) * 2);
280
            }
281
            if (hurt_fx1_state == 2)
282
            {
283
                hurt_fx1_timer2++;
284
                invincible_l = 1;
285
                invincible_r = 1;
286
                if (hurt_fx1_timer2 > 14)
287
                {
288
                    if (drawflip == 1)
289
                        x -= 30;
290
                    if (drawflip == 0)
291
                        x += 30;
292
                    y += 15;
293
                }
294
                if (hurt_fx1_timer2 > 16)
295
                {
296
                    x = basex;
297
                    y = basey;
298
                    hurt_fx1_timer = 0;
299
                    hurt_fx1_timer2 = 0;
300
                    hurt_fx1_state = 1;
301
                    times_hit_in_a_row = 0;
302
                    movetimer = attackthreshold;
303
                    dizzytimer = 0;
304
                    if (global.boxingphase == 2 && o_boxingcontroller.dead == 0)
305
                    {
306
                        event_user(2);
307
                    }
308
                    else
309
                    {
310
                        remmovetimer = movetimer;
311
                        event_user(1);
312
                        movetimer = remmovetimer;
313
                    }
314
                }
315
            }
316
            exit;
317
        }
318
    }
319
    else if (sprite_index == spr_bqueen_hurt_v && hurt_fx1_timer > 0 && hurt_fx1_timer < 7)
320
    {
321
        movetimer -= 1;
322
        if (hurt_fx1_state == 1)
323
        {
324
            hurt_fx1_timer += 1;
325
            if (hurt_fx1_timer == 5)
326
                hurt_fx1_state = 2;
327
            if (drawflip == 1)
328
                x += ((5 - hurt_fx1_timer) * 5);
329
            if (drawflip == 0)
330
                x -= ((5 - hurt_fx1_timer) * 5);
331
            y -= ((5 - hurt_fx1_timer) * 3);
332
        }
333
        else
334
        {
335
            hurt_fx1_timer2++;
336
            if (hurt_fx1_timer2 > 16)
337
            {
338
                x = basex;
339
                y = basey;
340
                hurt_fx1_timer = 0;
341
                hurt_fx1_timer2 = 0;
342
                hurt_fx1_state = 1;
343
            }
344
        }
345
    }
346
    if (times_hit_in_a_row > 2 && health_count > 0 && phase_transition < 1 && o_boxingcontroller.wireframe_boxing == 0 && shortcomboend == 1)
347
    {
348
        movetimer = attackthreshold;
349
        hurt_fx1_timer += 1;
350
        if (hurt_fx1_timer == 1)
351
        {
352
            if (o_boxingcontroller.lastpunchside == -1)
353
                drawflip = 1;
354
            else
355
                drawflip = 0;
356
        }
357
        if (hurt_fx1_timer > 7)
358
            hurt_fx1_timer = 1;
359
        if (hurt_fx1_timer > 0 && hurt_fx1_timer < 38)
360
        {
361
            sprite_index = spr_bqueen_hurt;
362
            movetimer -= 1;
363
            if (hurt_fx1_state == 1)
364
            {
365
                if (hurt_fx1_timer == 3)
366
                    hurt_fx1_state = 2;
367
                if (drawflip == 1)
368
                    x += ((5 - hurt_fx1_timer) * 5);
369
                if (drawflip == 0)
370
                    x -= ((5 - hurt_fx1_timer) * 5);
371
                y -= ((5 - hurt_fx1_timer) * 2);
372
            }
373
            if (hurt_fx1_state == 2)
374
            {
375
                hurt_fx1_timer2++;
376
                invincible_l = 1;
377
                invincible_r = 1;
378
                if (hurt_fx1_timer2 > 5)
379
                {
380
                    if (drawflip == 1)
381
                        x -= 12.5;
382
                    if (drawflip == 0)
383
                        x += 12.5;
384
                    y += 12.5;
385
                }
386
                if (hurt_fx1_timer2 > 7)
387
                {
388
                    x = basex;
389
                    y = basey;
390
                    hurt_fx1_timer = 0;
391
                    hurt_fx1_timer2 = 0;
392
                    hurt_fx1_state = 1;
393
                    times_hit_in_a_row = 0;
394
                    movetimer = attackthreshold;
395
                    dizzytimer = 0;
396
                    shortcomboend = 0;
397
                    if (global.boxingphase == 2 && o_boxingcontroller.dead == 0)
398
                    {
399
                        event_user(2);
400
                    }
401
                    else
402
                    {
403
                        remmovetimer = movetimer;
404
                        event_user(1);
405
                        movetimer = remmovetimer;
406
                    }
407
                }
408
            }
409
            exit;
410
        }
411
    }
412
    else if (sprite_index == spr_bqueen_hurt_v && hurt_fx1_timer > 0 && hurt_fx1_timer < 7)
413
    {
414
        movetimer -= 1;
415
        if (hurt_fx1_state == 1)
416
        {
417
            hurt_fx1_timer += 1;
418
            if (hurt_fx1_timer == 5)
419
                hurt_fx1_state = 2;
420
            if (drawflip == 1)
421
                x += ((5 - hurt_fx1_timer) * 5);
422
            if (drawflip == 0)
423
                x -= ((5 - hurt_fx1_timer) * 5);
424
            y -= ((5 - hurt_fx1_timer) * 3);
425
        }
426
        else
427
        {
428
            hurt_fx1_timer2++;
429
            if (hurt_fx1_timer2 > 16)
430
            {
431
                x = basex;
432
                y = basey;
433
                hurt_fx1_timer = 0;
434
                hurt_fx1_timer2 = 0;
435
                hurt_fx1_state = 1;
436
            }
437
        }
438
    }
439
    if (phase_transition > 0 && o_boxingcontroller.wireframe_boxing == 1)
440
    {
441
        phase_transition_timer++;
442
        if (phase_transition_timer >= (0 / f) && phase_transition_timer < (40 / f))
443
        {
444
            with (obj_battleblcon)
445
                instance_destroy();
446
            with (obj_writer)
447
                instance_destroy();
448
            x = (basex + (40 / phase_transition_timer)) - irandom(80 / phase_transition_timer);
449
            y = (basey + (40 / phase_transition_timer)) - irandom(80 / phase_transition_timer);
450
        }
451
        if (phase_transition_timer == (110 / f))
452
        {
453
            sprite_index = spr_bqueen_headless_wireframe;
454
            drawflip = 0;
455
            force_drawflip = 0;
456
            explosion = instance_create(x, y - 230, obj_vector_explosion);
457
            explosion.image_xscale = 1;
458
            explosion.image_yscale = 1;
459
            explosion.alarm[0] = 70;
460
            if (o_boxingcontroller.wireframe_boxing == 1)
461
                snd_free(boxing_game_music);
462
            o_boxingcontroller.y = o_boxingcontroller.basey;
463
            with (o_boxingcontroller)
464
                event_user(1);
465
        }
466
        if (phase_transition_timer == (250 / f))
467
        {
468
            o_boxing_wireframe.hidebg = 1;
469
            sprite_index = spr_bqueen_headless_wireframe;
470
            drawflip = 0;
471
            drawflip = 0;
472
            with (obj_vector_explosion)
473
                instance_destroy();
474
            explosion = instance_create(x, y - 50, obj_vector_explosion_big);
475
            explosion.image_xscale = 7;
476
            explosion.image_yscale = 7;
477
            explosion.alarm[0] = 60;
478
            explosion.depth = obj_ch2_scene10.qu_actor.depth + 1;
479
        }
480
        if (phase_transition_timer == (276 / f))
481
            instance_create(x, y, obj_ch2_scene10_arcade_fg2);
482
        if (phase_transition_timer == (284 / f))
483
        {
484
            with (obj_ch2_scene10_arcade_bg)
485
            {
486
                con = 3;
487
                timer = 0;
488
                image_alpha = 1.5;
489
            }
490
            instance_destroy();
491
            with (obj_vector_explosion_big)
492
                instance_destroy();
493
            with (o_boxingcontroller)
494
                instance_destroy();
495
            with (o_boxinghud)
496
                instance_destroy();
497
            with (o_boxinggraze)
498
                instance_destroy();
499
            with (o_boxing_wireframe)
500
                instance_destroy();
501
            with (o_boxingcontroller_fist_hitbox)
502
                instance_destroy();
503
            with (o_boxing_hitbox)
504
                instance_destroy();
505
            with (obj_vector_explosion)
506
                instance_destroy();
507
            with (obj_bg_square)
508
                instance_destroy();
509
            with (obj_3d_bg_effect)
510
                instance_destroy();
511
            with (obj_ch2_scene10_arcade_fg2)
512
                instance_destroy();
513
        }
514
        exit;
515
    }
516
    if (phase_transition > 0 && o_boxingcontroller.wireframe_boxing == 0)
517
    {
518
        phase_transition_timer++;
519
        o_boxingcontroller.boxingtimer = 10;
520
        obj_gigaqueen_enemy.missleattack = 0;
521
        obj_gigaqueen_enemy.breathattack = 0;
522
        actpunchtimer = 0;
523
        if (phase_transition_timer >= (0 / f) && phase_transition_timer < (40 / f))
524
        {
525
            x = (basex + (40 / phase_transition_timer)) - irandom(80 / phase_transition_timer);
526
            y = (basey + (40 / phase_transition_timer)) - irandom(80 / phase_transition_timer);
527
            white_flash = 0;
528
        }
529
        if (phase_transition_timer == (40 / f))
530
            phase_transition_timer = 70 / f;
531
        if (phase_transition_timer == (80 / f))
532
        {
533
            sprite_index = spr_bqueen_pirouette;
534
            vspeed = -48 / f;
535
            hspeed = -12 / f;
536
            drawflip = 0;
537
            if (o_boxingcontroller.wireframe_boxing == 0)
538
            {
539
                d = instance_create(0, 0, obj_shake);
540
                d.shakex = ceil(2);
541
                d.shakey = ceil(2);
542
            }
543
            if (arcade)
544
                snd_play(snd_screenshake_bc);
545
            else
546
                snd_play(snd_screenshake);
547
        }
548
        if (phase_transition_timer > (82 / f) && y < basey)
549
        {
550
            hspeed = -12 / f;
551
            image_index += 0.4;
552
            gravity = 2.8;
553
        }
554
        if (phase_transition_timer >= (82 / f) && phase_transition_timer < (210 / f) && y > basey)
555
        {
556
            sprite_index = spr_bqueen_stomp;
557
            image_index = 1;
558
            vspeed = 0;
559
            gravity = 0;
560
            hspeed = 0;
561
            if (arcade)
562
                snd_play(snd_impact_bc);
563
            else
564
                snd_play(snd_impact);
565
            y = basey;
566
            phase_transition_timer = 196 / f;
567
            d = instance_create(0, 0, obj_shake);
568
            d.shakex = ceil(2);
569
            d.shakey = ceil(2);
570
        }
571
        if (phase_transition_timer > (210 / f))
572
        {
573
            if (index_previous < 1 && image_index >= 1 && phase_transition_timer > (220 / f))
574
            {
575
                if (arcade)
576
                {
577
                    if (audio_is_playing(snd_impact_bc))
578
                        audio_stop_sound(snd_impact_bc);
579
                    snd_play(snd_impact_bc);
580
                }
581
                else
582
                {
583
                    if (audio_is_playing(snd_impact))
584
                        audio_stop_sound(snd_impact);
585
                    snd_play(snd_impact);
586
                }
587
                d = instance_create(0, 0, obj_shake);
588
                if (i_ex(d))
589
                {
590
                    d.shakex = ceil(2);
591
                    d.shakey = ceil(2);
592
                }
593
            }
594
            index_previous = image_index;
595
            sprite_index = spr_bqueen_stomp;
596
            image_index += stomp_speed;
597
            if (image_index >= 2)
598
                image_index -= 2;
599
            if (phase_transition == 1)
600
                stomp_speed += 0.037;
601
            if (phase_transition == 2)
602
                stomp_speed -= 0.037;
603
            if (phase_transition == 1 && stomp_speed > 1)
604
                phase_transition = 2;
605
            if (phase_transition == 2 && stomp_speed < 0)
606
                stomp_speed = 0;
607
        }
608
        if (phase_transition_timer > (350 / f))
609
        {
610
            hspeed = 64 / f;
611
            sprite_index = spr_bqueen_idle;
612
        }
613
        if ((phase_transition_timer > (350 / f) && x > (basex - 33) && hspeed > 0) || (phase_transition_timer > (350 / f) && x < (basex + 33) && hspeed < 0))
614
        {
615
            sprite_index = spr_bqueen_idle;
616
            image_index = 0;
617
            hspeed = 0;
618
            x = basex;
619
        }
620
        if (phase_transition_timer == (360 / f))
621
        {
622
            if (o_boxinghud.sub_healthbar_count == 1)
623
            {
624
                instance_create(camerax() + (camerawidth() / 2), cameray() - 220, obj_gigaqueen_intro_round);
625
                obj_gigaqueen_intro_round.sprite_index = spr_gigaqueen_intro_round2;
626
            }
627
            if (o_boxinghud.sub_healthbar_count == 0)
628
            {
629
                instance_create(camerax() + (camerawidth() / 2), cameray() - 220, obj_gigaqueen_intro_round);
630
                obj_gigaqueen_intro_round.sprite_index = spr_gigaqueen_intro_round3;
631
            }
632
        }
633
        if (phase_transition_timer == (460 / f))
634
            instance_create(obj_gigaqueen_intro_round.x + 5, obj_gigaqueen_intro_round.y, obj_gigaqueen_intro_fight);
635
        if (phase_transition_timer == (540 / f))
636
        {
637
            snd_play(snd_bell);
638
            readycon = 0;
639
        }
640
        if (phase_transition_timer == (560 / f))
641
        {
642
            snd_play(snd_bell);
643
            readycon = 0;
644
        }
645
        if (phase_transition_timer == (562 / f))
646
        {
647
            phase_transition = 0;
648
            phase_transition_timer = 0;
649
            dizzytimer = 0;
650
            stomp_speed = 0;
651
            movetimer = 0;
652
            hurttimer = 9999;
653
        }
654
        else
655
        {
656
            exit;
657
        }
658
    }
659
    if (actpunchtimer > 0)
660
    {
661
        actpunchtimer++;
662
        x = (basex + (40 / actpunchtimer)) - irandom(80 / actpunchtimer);
663
        y = (basey + (40 / actpunchtimer)) - irandom(80 / actpunchtimer);
664
        if (actpunchtimer >= (40 / f))
665
            actpunchtimer = 0;
666
        exit;
667
    }
668
    if (hurttimer >= 2)
669
    {
670
        if (y >= basey)
671
        {
672
            y = basey;
673
            vspeed = 0;
674
        }
675
    }
676
    if (hspeed > 0 && x > basex)
677
    {
678
        hspeed = 0;
679
        x = basex;
680
    }
681
    var hurttime_ext = 32;
682
    if (o_boxingcontroller.wireframe_boxing == 1)
683
        hurttime_ext = 40;
684
    if (combo == 0)
685
        hurttime_ext = 18;
686
    if (hurttimer >= (hurttime_ext / f))
687
    {
688
        if (dizzytimer <= (30 / f))
689
        {
690
            dizzytimer = 0;
691
            if ((noattack >= 3 && myturn == 1) || combo == 0)
692
            {
693
                debug_text = "from hurt to attack";
694
                movetimer = attackthreshold;
695
                event_user(2);
696
            }
697
            else
698
            {
699
                debug_text = "from hurt to idle";
700
                remmovetimer = movetimer;
701
                event_user(1);
702
                movetimer = remmovetimer;
703
            }
704
        }
705
        else if ((!instance_exists(obj_bq_baseball_hits_boss) && !instance_exists(o_boxing_wireframe)) || (baseball_hit_boss_number == o_boxingcontroller.hit_baseball && !instance_exists(o_boxing_wireframe)))
706
        {
707
            state = 4;
708
            speed = 0;
709
            image_index = 0;
710
            x = basex;
711
            y = basey;
712
            sprite_index = spr_bqueen_dizzy;
713
            if (o_boxingcontroller.wireframe_boxing == 1)
714
                sprite_index = spr_bqueen_dizzy_wireframe;
715
        }
716
    }
717
}
718
if (state == 2)
719
{
720
    blocktimer += 1;
721
    if (blocktimer >= (32 / f) && myturn == 1)
722
    {
723
        movetimer = attackthreshold;
724
        event_user(2);
725
    }
726
}
727
if (state == 3)
728
{
729
    if (attacktype == 0)
730
    {
731
        if (attackcon == 0)
732
        {
733
            debug_text = "start punch";
734
            makedizzy = 150 / f;
735
            blocking = -1;
736
            sprite_index = spr_bqueen_punch;
737
            if (punch_type == 2 || punch_type == 3)
738
                sprite_index = spr_bqueen_punchb;
739
            if (punch_type == 5)
740
                sprite_index = spr_bqueen_punchb;
741
            if (o_boxingcontroller.wireframe_boxing == 1)
742
            {
743
                sprite_index = spr_bqueen_punch_wireframe;
744
                image_speed = 0;
745
            }
746
            friction = 0;
747
            gravity = 0;
748
            if (o_boxingcontroller.wireframe_boxing == 1)
749
            {
750
                if (o_boxingcontroller.arcade_mode_last_punched_direction == 0)
751
                {
752
                    drawflip = 1;
753
                    force_drawflip = 1;
754
                }
755
                if (o_boxingcontroller.arcade_mode_last_punched_direction == 1)
756
                {
757
                    drawflip = 0;
758
                    force_drawflip = 0;
759
                }
760
            }
761
            image_index = 0;
762
            if (drawflip == 0)
763
            {
764
                invincible_l = 1;
765
                invincible_r = 1;
766
                ff = -1;
767
                if (o_boxingcontroller.wireframe_boxing == 1)
768
                {
769
                    hspeed = -3 * f;
770
                    invincible_l = 1;
771
                    invincible_r = 1;
772
                }
773
                else
774
                {
775
                    hspeed = -7 * f;
776
                    invincible_l = 1;
777
                    invincible_r = 1;
778
                }
779
                vspeed = -2 * f;
780
            }
781
            if (drawflip == 1)
782
            {
783
                ff = 1;
784
                if (o_boxingcontroller.wireframe_boxing == 1)
785
                {
786
                    hspeed = 3 * f;
787
                    invincible_l = 1;
788
                    invincible_r = 1;
789
                }
790
                else
791
                {
792
                    hspeed = 7 * f;
793
                    invincible_l = 1;
794
                    invincible_r = 1;
795
                }
796
                vspeed = -2 * f;
797
            }
798
            attackcon = 1;
799
        }
800
        if (attackcon == 1)
801
        {
802
            punchthresholda = 10;
803
            punchthresholdb = 15;
804
            punchthresholdc = 35;
805
            punchthresholdd = 40;
806
            punchthresholde = 40;
807
            var a = 0;
808
            if (delayattack == 1)
809
                a = 11;
810
            if (punch_type == 1)
811
            {
812
                punchthresholdb = 15;
813
                punchthresholdc = 18;
814
                punchthresholdd = 30;
815
                punchthresholde = 35;
816
            }
817
            if (punch_type == 2 || punch_type == 3)
818
            {
819
                punchthresholdb = 15;
820
                punchthresholdc = 17;
821
                punchthresholdd = 23;
822
                punchthresholde = 25;
823
            }
824
            if (punch_type == 4 || punch_type == 5)
825
            {
826
                punchthresholdb = 15;
827
                punchthresholdc = 18;
828
                punchthresholdd = 40;
829
                punchthresholde = 23;
830
            }
831
            if ((punch_type == 2 && firstquickpunch == 1) || (punch_type == 3 && firstquickpunch == 1))
832
            {
833
                punchthresholdb = 15;
834
                punchthresholdc = 18;
835
                punchthresholdd = 30;
836
                punchthresholde = 35;
837
            }
838
            if (o_boxingcontroller.wireframe_boxing == 1)
839
            {
840
                punchthresholdb = 15;
841
                punchthresholdc = 18;
842
                punchthresholdd = 50;
843
                punchthresholde = 50;
844
            }
845
            attacktimer += 1;
846
            if (attacktimer >= (punchthresholda / f))
847
                speed = 0;
848
            if (attacktimer == (punchthresholdb / f))
849
                image_index = 3;
850
            if (attacktimer == ceil(punchthresholdc / f))
851
            {
852
                if (arcade)
853
                    snd_play(snd_bell_bc);
854
                else
855
                    snd_play(snd_bell_bounce_short);
856
                image_index = 5;
857
                white_flash = 120;
858
            }
859
            if (attacktimer == (ceil(punchthresholdc / f) + 4))
860
            {
861
                image_index = 3;
862
                white_flash = 0;
863
            }
864
            if (attacktimer >= ((punchthresholdd / f) + a))
865
            {
866
                attackcon = 2;
867
                attacktimer = 0;
868
                if (arcade)
869
                    snd_play(motor_swing_down_bc);
870
                else
871
                    snd_play(motor_swing_down);
872
            }
873
        }
874
        if (attackcon == 2)
875
        {
876
            attack_succeeded = 0;
877
            invincible_l = 1;
878
            invincible_r = 1;
879
            sprite_index = spr_bqueen_punch;
880
            if (punch_type == 2 || punch_type == 3)
881
                sprite_index = spr_bqueen_punchb;
882
            if (o_boxingcontroller.wireframe_boxing == 1)
883
                sprite_index = spr_bqueen_punchb_wireframe;
884
            image_index = 1;
885
            attacktimer += 1;
886
            if (o_boxingcontroller.wireframe_boxing == 1)
887
            {
888
                if (attacktimer == 1)
889
                {
890
                    y += 25;
891
                    x -= (6 * ff);
892
                }
893
                if (attacktimer == 2)
894
                {
895
                    y += 15;
896
                    x -= (4 * ff);
897
                }
898
                if (attacktimer == 3)
899
                {
900
                    y += 10;
901
                    x -= (2 * ff);
902
                }
903
                if (attacktimer == 4)
904
                {
905
                    y += 5;
906
                    x -= (2 * ff);
907
                    attackcon = 3;
908
                    attacktimer = 0;
909
                }
910
            }
911
            else
912
            {
913
                if (attacktimer == 1)
914
                {
915
                    y += 25;
916
                    x -= (16 * ff);
917
                }
918
                if (attacktimer == 2)
919
                {
920
                    y += 15;
921
                    x -= (12 * ff);
922
                }
923
                if (attacktimer == 3)
924
                {
925
                    y += 10;
926
                    x -= (8 * ff);
927
                }
928
                if (attacktimer == 4)
929
                {
930
                    y += 5;
931
                    x -= (4 * ff);
932
                    attackcon = 3;
933
                    attacktimer = 0;
934
                }
935
            }
936
            if ((punch_type == 2 && firstquickpunch == 1) || (punch_type == 3 && firstquickpunch == 1))
937
                firstquickpunch = 0;
938
        }
939
        if (attackcon == 3)
940
        {
941
            image_index = 2;
942
            attacktimer += 1;
943
            if (attacktimer == 1)
944
            {
945
                punch_hitbox = instance_create(x, y - 60, o_boxing_hitbox);
946
                with (punch_hitbox)
947
                {
948
                    give_hurt = 22 / f;
949
                    if (o_boxingcontroller.wireframe_boxing == 1)
950
                        give_hurt = 32 / f;
951
                    timer = 5 / f;
952
                    damage = 25;
953
                    if (o_boxingqueen.punch_type == 2 || o_boxingqueen.punch_type == 3)
954
                        damage = 15;
955
                    image_yscale = 5;
956
                    image_xscale = 2.8;
957
                }
958
                punch_hitbox_graze = instance_create(x - 5, y - 60, o_boxing_hitbox);
959
                with (punch_hitbox_graze)
960
                {
961
                    graze_only = 1;
962
                    image_xscale = 6;
963
                    image_yscale = 2.8;
964
                }
965
                punch_hitbox.hit_direction = drawflip;
966
            }
967
            if (attacktimer >= 2)
968
            {
969
                makedizzy = 90 / f;
970
                invincible_l = 0;
971
                invincible_r = 0;
972
                blocking = -1;
973
            }
974
            if (punch_type == 1 || punch_type == 2)
975
                attack_succeeded = 0;
976
            if (punch_type == 3)
977
            {
978
                punchthresholdc = 45;
979
                makedizzy = 180 / f;
980
            }
981
            if (attacktimer >= ((punchthresholdd / f) - ((attack_succeeded * 20) / f)))
982
            {
983
                vspeed -= (6 * f);
984
                if (y <= (basey + 20))
985
                {
986
                    attackcon = 0;
987
                    y = basey;
988
                    vspeed = 0;
989
                    hspeed = 0;
990
                    attack_succeeded = 0;
991
                    event_user(1);
992
                }
993
            }
994
        }
995
    }
996
    if (attacktype == 1)
997
    {
998
        if (attackcon == 0)
999
        {
1000
            blocking = -1;
1001
            x = basex;
1002
            y = basex;
1003
            sprite_index = spr_bqueen_kick;
1004
            friction = 0;
1005
            gravity = 0;
1006
            if (o_boxingcontroller.wireframe_boxing == 1)
1007
            {
1008
                sprite_index = spr_bqueen_kick_wireframe;
1009
                image_speed = 0;
1010
            }
1011
            if (o_boxingcontroller.wireframe_boxing == 1)
1012
            {
1013
                o_boxing_wireframe.text = o_boxingcontroller.dodge_string;
1014
                o_boxing_wireframe.text_reset_timer = 50;
1015
                dodgehintcount++;
1016
                if (dodgehintcount == 4)
1017
                {
1018
                    with (o_boxing_wireframe)
1019
                    {
1020
                        msgsetsubloc(0, "DODGE with ~1 &or ~2!", scr_get_input_name
scr_get_input_name

function scr_get_input_name(arg0) { var _control = "[?]"; if (global.is_console || obj_gamecontroller.gamepad_active) { _control = global.input_g[arg0]; if (_control == gp_padr) return "\\*D "; if (_control == gp_padl) return "\\*A "; if (_control == gp_padu) return "\\*W "; if (_control == gp_padd) return "\\*S "; if (_control == global.button0) return "\\*Z "; if (_control == global.button1) return "\\*X "; if (_control == global.button2) return "\\*C "; } var left_bracket = (global.lang == "en") ? "[" : "["; var right_bracket = (global.lang == "en") ? "]" : "]"; _control = left_bracket + global.asc_def[global.input_k[arg0]] + right_bracket; if (!is_string(_control)) _control = "[?]"; else return _control; }
(3), scr_get_input_name
scr_get_input_name

function scr_get_input_name(arg0) { var _control = "[?]"; if (global.is_console || obj_gamecontroller.gamepad_active) { _control = global.input_g[arg0]; if (_control == gp_padr) return "\\*D "; if (_control == gp_padl) return "\\*A "; if (_control == gp_padu) return "\\*W "; if (_control == gp_padd) return "\\*S "; if (_control == global.button0) return "\\*Z "; if (_control == global.button1) return "\\*X "; if (_control == global.button2) return "\\*C "; } var left_bracket = (global.lang == "en") ? "[" : "["; var right_bracket = (global.lang == "en") ? "]" : "]"; _control = left_bracket + global.asc_def[global.input_k[arg0]] + right_bracket; if (!is_string(_control)) _control = "[?]"; else return _control; }
(1), "o_boxingqueen_slash_Step_0_gml_599_0");
1021
                        global.typer = 50;
1022
                        queenbubble = scr_enemyblcon
scr_enemyblcon

function scr_enemyblcon(arg0, arg1, arg2) { if (arg2 == 0) { mywriter = instance_create(arg0, arg1, obj_writer); return mywriter; } if (arg2 == 1) { myblcon = instance_create(arg0, arg1, obj_battleblcon); return myblcon; } if (arg2 == 2) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_v; return myblcon; } if (arg2 == 3) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_long; return myblcon; } if (arg2 == 4) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_clubs; myblcon.image_index = 0; myblcon.image_speed = 0; return myblcon; } if (arg2 == 5) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_clubs; myblcon.image_index = 1; myblcon.image_speed = 0; return myblcon; } if (arg2 == 6) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_clubs; myblcon.image_index = 2; myblcon.image_speed = 0; return myblcon; } if (arg2 == 7) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_long_r; myblcon.image_index = 2; myblcon.image_speed = 0; return myblcon; } if (arg2 == 8) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_long_tall; return myblcon; } if (arg2 == 10) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_long; myblcon.auto_length = 1; return myblcon; } }
(camerax() + 428, cameray() + 388, 7);
1023
                        talktimer = 0;
1024
                        talking = true;
1025
                        with (queenbubble)
1026
                        {
1027
                            depth = obj_ch2_scene10.qu_actor.depth - 1;
1028
                            auto_length = 1;
1029
                            side = -1;
1030
                            xoffset = 194;
1031
                        }
1032
                        talktype = 1;
1033
                    }
1034
                }
1035
            }
1036
            if (arcade)
1037
                snd_pitch(snd_play(motor_upper_2_bc), 0.9);
1038
            else
1039
                snd_pitch(snd_play(snd_bell_bounce_short), 1);
1040
            image_index = 3;
1041
            if (o_boxingcontroller.wireframe_boxing == 0)
1042
                event_user(5);
1043
            image_index = 0;
1044
            invincible_l = 1;
1045
            invincible_r = 1;
1046
            playerhitbykick = 0;
1047
            ohpitch = 0;
1048
            attacktimer = 0;
1049
            kicks_done = 0;
1050
            if (o_boxingcontroller.wireframe_boxing == 1)
1051
            {
1052
                if (o_boxingcontroller.arcade_mode_last_punched_direction == 0)
1053
                {
1054
                    drawflip = 1;
1055
                    force_drawflip = 1;
1056
                }
1057
                if (o_boxingcontroller.arcade_mode_last_punched_direction == 1)
1058
                {
1059
                    drawflip = 0;
1060
                    force_drawflip = 0;
1061
                }
1062
                if (drawflip == 0)
1063
                {
1064
                    ff = -1;
1065
                    if (kick_amount <= 1)
1066
                        hspeed = -2 * f;
1067
                    vspeed = 1 * f;
1068
                }
1069
                if (drawflip == 1)
1070
                {
1071
                    ff = 1;
1072
                    if (kick_amount <= 1)
1073
                        hspeed = 2 * f;
1074
                    vspeed = 1 * f;
1075
                }
1076
            }
1077
            else
1078
            {
1079
                if (drawflip == 0)
1080
                {
1081
                    ff = -1;
1082
                    if (kick_amount <= 1)
1083
                        hspeed = -1 * f;
1084
                    vspeed = 3 * f;
1085
                }
1086
                if (drawflip == 1)
1087
                {
1088
                    ff = 1;
1089
                    if (kick_amount <= 1)
1090
                        hspeed = 1 * f;
1091
                    vspeed = 3 * f;
1092
                }
1093
            }
1094
            attackcon = 1;
1095
        }
1096
        if (attackcon == 1)
1097
        {
1098
            var a = 0;
1099
            if (delayattack == 1)
1100
                a = 11;
1101
            attacktimer += 1;
1102
            kickthresholda = 5;
1103
            kickthresholdb = 12.5;
1104
            if (punch_type == 2)
1105
            {
1106
                kickthresholda = 15;
1107
                kickthresholdb = 21;
1108
            }
1109
            if (o_boxingcontroller.wireframe_boxing == 1)
1110
            {
1111
                kickthresholda = 18;
1112
                kickthresholdb = 29;
1113
                if (attacktimer == 10)
1114
                    event_user(5);
1115
            }
1116
            if (attacktimer == (10 / f))
1117
            {
1118
                prekick_timer = 0;
1119
                speed = 0;
1120
                remy = y;
1121
                remx = x;
1122
            }
1123
            kick_turnaround_again = 0;
1124
            if (kick_amount > 1 && attacktimer == (14 / f))
1125
                kick_turnaround_again = 1;
1126
            if (kick_amount > 2 && attacktimer == (28 / f))
1127
                kick_turnaround_again = 1;
1128
            if (kick_amount > 3 && attacktimer == (42 / f))
1129
                kick_turnaround_again = 1;
1130
            if (kick_turnaround_again == 1 && o_boxingcontroller.wireframe_boxing == 0)
1131
            {
1132
                ohpitch++;
1133
                if (arcade)
1134
                {
1135
                    snd_pitch(motor_upper_2_bc, 1 + (ohpitch / 10));
1136
                    snd_play(motor_upper_2_bc);
1137
                }
1138
                else
1139
                {
1140
                    snd_pitch(snd_bell_bounce_short, 1 + (ohpitch / 10));
1141
                    snd_play(snd_bell_bounce_short);
1142
                }
1143
                ff = -ff;
1144
                if (drawflip == 0)
1145
                    drawflip = 1;
1146
                else
1147
                    drawflip = 0;
1148
                image_index = 3;
1149
                event_user(5);
1150
                image_index = 0;
1151
            }
1152
            if (attacktimer >= (((25 / f) + ((kick_amount * 14) / f)) - (20 / f)) && attacktimer > kickthresholda && o_boxingcontroller.wireframe_boxing == 0)
1153
            {
1154
                prekick_timer += 1;
1155
                if (prekick_timer <= (6 / f))
1156
                    vspeed -= (1 * f);
1157
                if (prekick_timer > (6 / f))
1158
                {
1159
                    vspeed += (1 * f);
1160
                    if (vspeed > 0)
1161
                        vspeed = 0;
1162
                }
1163
            }
1164
            if (attacktimer >= (((25 / f) + (14 / f)) - (20 / f)) && attacktimer > kickthresholda && o_boxingcontroller.wireframe_boxing == 1)
1165
            {
1166
                prekick_timer += 1;
1167
                if (prekick_timer <= (8 / f))
1168
                    vspeed -= (0.75 * f);
1169
                if (prekick_timer > (8 / f))
1170
                {
1171
                    vspeed += (0.75 * f);
1172
                    if (vspeed > 0)
1173
                        vspeed = 0;
1174
                }
1175
            }
1176
            if (attacktimer >= ((25 / f) + ((kick_amount * 14) / f)) && attacktimer > kickthresholdb)
1177
                speed = 0;
1178
            if (attacktimer >= ((25 / f) + ((kick_amount * 14) / f)) && attacktimer > (kickthresholdb + a))
1179
            {
1180
                kicks_done = 0;
1181
                speed = 0;
1182
                attackcon = 2;
1183
                attacktimer = 0;
1184
                image_index = 1;
1185
            }
1186
        }
1187
        if (attackcon == 2)
1188
        {
1189
            makedizzy = (100 / f) + ((kick_amount * 20) / f);
1190
            sprite_index = spr_bqueen_kick;
1191
            if (o_boxingcontroller.wireframe_boxing == 1)
1192
                sprite_index = spr_bqueen_kick_wireframe;
1193
            attacktimer += 1;
1194
            if (attacktimer == 1)
1195
            {
1196
                if (arcade)
1197
                {
1198
                    snd_play(snd_heavyswing_bc);
1199
                    kickyell = snd_play(snd_queenhowl_b_bc);
1200
                }
1201
                else
1202
                {
1203
                    snd_play(snd_heavyswing);
1204
                    kickyell = snd_play(snd_queenhowl_b);
1205
                }
1206
                audio_sound_pitch(kickyell, (1 + (kick_amount * 0.08)) - (kicks_done * 0.08));
1207
                attack_succeeded = 0;
1208
                kick_hitbox = instance_create(basex, basey - 50, o_boxing_hitbox);
1209
                with (kick_hitbox)
1210
                {
1211
                    give_hurt = 34 / f;
1212
                    timer = 4 / f;
1213
                    damage = 40 * o_boxingcontroller.failed_kick_tutorial_counter;
1214
                    if (o_boxingcontroller.succeeded_kick_tutorial == 1)
1215
                        damage = 40;
1216
                    if (o_boxingqueen.kick_amount == 2)
1217
                        damage = floor(damage * 0.6);
1218
                    if (o_boxingqueen.kick_amount >= 3)
1219
                        damage = floor(damage * 0.5);
1220
                    kick = 1;
1221
                    image_yscale = 10;
1222
                    image_xscale = 3;
1223
                }
1224
                kick_hitbox.hit_direction = drawflip;
1225
                hspeed = -3 * ff;
1226
                vspeed = -4 * f;
1227
            }
1228
            if (attacktimer >= 1)
1229
                vspeed += 1;
1230
            if (attacktimer == (4 / f))
1231
            {
1232
                image_index = 2;
1233
                invincible_l = 0;
1234
                invincible_r = 0;
1235
                blocking = -1;
1236
            }
1237
            if (attacktimer == 7)
1238
            {
1239
                attackcon = 4;
1240
                attacktimer = 0;
1241
                kicks_done += 1;
1242
                if (kicks_done == kick_amount && playerhitbykick == 0 && kick_amount > 2)
1243
                {
1244
                    attackcon = 6;
1245
                    attacktimer = 0;
1246
                    if (ff == 1)
1247
                        hspeed = -2;
1248
                    else
1249
                        hspeed = 2;
1250
                    vspeed = -3;
1251
                    gravity = 1.5;
1252
                    gravity_direction = 270;
1253
                    sprite_index = spr_bqueen_kick_wiff;
1254
                }
1255
                else
1256
                {
1257
                    speed = 0;
1258
                }
1259
            }
1260
        }
1261
        if (attackcon == 4)
1262
        {
1263
            image_index = 2;
1264
            attacktimer += 1;
1265
            if (kicks_done < kick_amount && attacktimer >= (12 / f))
1266
            {
1267
                y = remy;
1268
                x = remx;
1269
                ff = -ff;
1270
                if (drawflip == 0)
1271
                    drawflip = 1;
1272
                else
1273
                    drawflip = 0;
1274
                attackcon = 5;
1275
                attacktimer = 0;
1276
                invincible_l = 1;
1277
                invincible_r = 1;
1278
                image_index = 0;
1279
            }
1280
            if (attacktimer >= (((55 / f) + ((kick_amount * 5) / f)) - (attack_succeeded * ((26 / f) + ((kick_amount * 5) / f)))))
1281
            {
1282
                if (instance_exists(o_boxing_wireframe) && o_boxing_wireframe.text == o_boxingcontroller.dodge_string)
1283
                    o_boxing_wireframe.text = o_boxingcontroller.default_string;
1284
                attackcon = 0;
1285
                y = basey;
1286
                vspeed = 0;
1287
                hspeed = 0;
1288
                attack_succeeded = 0;
1289
                event_user(1);
1290
            }
1291
        }
1292
        if (attackcon == 5)
1293
        {
1294
            attacktimer += 1;
1295
            if (attacktimer >= (15 / f))
1296
            {
1297
                attackcon = 2;
1298
                image_index = 1;
1299
                attacktimer = 0;
1300
            }
1301
        }
1302
        if (attackcon == 6)
1303
        {
1304
            attacktimer += 1;
1305
            if (attacktimer < 2)
1306
            {
1307
            }
1308
            if (attacktimer == 7)
1309
            {
1310
                if (ff == 1)
1311
                    hspeed = -1;
1312
                else
1313
                    hspeed = 1;
1314
                vspeed = -4 * f;
1315
                gravity_direction = 270;
1316
                gravity = 1.5;
1317
            }
1318
            if (attacktimer == 16)
1319
            {
1320
                hspeed = 0;
1321
                vspeed = 0;
1322
                gravity = 0;
1323
            }
1324
            if (attacktimer == 29)
1325
            {
1326
                hspeed = 0;
1327
                vspeed = 0;
1328
                gravity = 0;
1329
            }
1330
            if (attacktimer >= 40)
1331
            {
1332
                sprite_index = spr_bqueen_idle;
1333
                image_index = 0;
1334
                gravity = 0;
1335
                repeat (10)
1336
                {
1337
                    if (x < basex)
1338
                        x += 1;
1339
                    if (x > basex)
1340
                        x -= 1;
1341
                }
1342
            }
1343
            if (attacktimer >= 45)
1344
            {
1345
                if (instance_exists(o_boxing_wireframe) && o_boxing_wireframe.text == o_boxingcontroller.dodge_string)
1346
                    o_boxing_wireframe.text = o_boxingcontroller.default_string;
1347
                attackcon = 0;
1348
                y = basey;
1349
                vspeed = 0;
1350
                hspeed = 0;
1351
                gravity = 0;
1352
                attack_succeeded = 0;
1353
                snd_pitch(snd_bell_bounce_short, 1);
1354
                event_user(1);
1355
            }
1356
        }
1357
    }
1358
    if (attacktype == 2)
1359
    {
1360
        if (attackcon == 0)
1361
        {
1362
            blocking = -1;
1363
            sprite_index = spr_bqueen_splash;
1364
            image_index = 0;
1365
            if (arcade)
1366
                snd_play(motor_upper_2_bc);
1367
            else
1368
                snd_play(motor_upper_2);
1369
            if (drawflip == 0)
1370
            {
1371
                invincible_l = 1;
1372
                invincible_r = 1;
1373
                ff = -1;
1374
                hspeed = -4 * f;
1375
                vspeed = -2 * f;
1376
            }
1377
            if (drawflip == 1)
1378
            {
1379
                invincible_l = 1;
1380
                invincible_r = 1;
1381
                ff = 1;
1382
                hspeed = 4 * f;
1383
                vspeed = -2 * f;
1384
            }
1385
            attackcon = 1;
1386
        }
1387
        if (attackcon == 1)
1388
        {
1389
            attacktimer += 1;
1390
            if (attacktimer >= (10 / f))
1391
                speed = 0;
1392
            var a = 0;
1393
            if (delayattack == 1)
1394
                a = 12;
1395
            punch_type = 1;
1396
            if ((attacktimer == ((20 / f) + a) && punch_type == 0) || (attacktimer == ((30 / f) + a) && punch_type == 1) || (attacktimer == ((12 / f) + a) && punch_type == 2))
1397
            {
1398
                if (delayattacktelegraph == 0)
1399
                {
1400
                    snd_play(snd_spearappear);
1401
                    if (drawflip == 0)
1402
                    {
1403
                        instance_create(x + 6, y - 180, obj_green_light);
1404
                    }
1405
                    else
1406
                    {
1407
                        instance_create(x - 6, y - 180, obj_green_light);
1408
                        with (obj_green_light)
1409
                            image_xscale = -1;
1410
                    }
1411
                    delayattacktelegraph = 1;
1412
                }
1413
            }
1414
            if (punch_type == 0)
1415
            {
1416
                if (attacktimer >= ((36 / f) + a))
1417
                {
1418
                    attackcon = 2;
1419
                    attacktimer = 0;
1420
                }
1421
            }
1422
            if (punch_type == 1)
1423
            {
1424
                if (attacktimer >= ((46 / f) + a))
1425
                {
1426
                    attackcon = 2;
1427
                    attacktimer = 0;
1428
                }
1429
            }
1430
            if (punch_type == 2)
1431
            {
1432
                if (attacktimer >= ((28 / f) + a))
1433
                {
1434
                    attackcon = 2;
1435
                    attacktimer = 0;
1436
                }
1437
            }
1438
        }
1439
        if (attackcon == 2)
1440
        {
1441
            delayattacktelegraph = 0;
1442
            attack_succeeded = 0;
1443
            invincible_l = 1;
1444
            invincible_r = 1;
1445
            image_index = 1;
1446
            attacktimer += 1;
1447
            if (arcade)
1448
            {
1449
                if (attacktimer == 1)
1450
                {
1451
                    y += 15;
1452
                    x -= (20 * ff);
1453
                    snd_play(motor_upper_quick_mid_bc);
1454
                }
1455
            }
1456
            else if (attacktimer == 1)
1457
            {
1458
                y += 15;
1459
                x -= (20 * ff);
1460
                snd_play(motor_upper_quick_mid);
1461
            }
1462
            if (attacktimer == 2)
1463
            {
1464
                y += 10;
1465
                x -= (12 * ff);
1466
            }
1467
            if (attacktimer == 3)
1468
            {
1469
                y += 5;
1470
                x -= (8 * ff);
1471
            }
1472
            if (attacktimer == 4)
1473
            {
1474
                y += 2;
1475
                x -= (4 * ff);
1476
                attackcon = 3;
1477
                attacktimer = 0;
1478
            }
1479
        }
1480
        if (attackcon == 3)
1481
        {
1482
            image_index = 2;
1483
            attacktimer += 1;
1484
            if (attacktimer == 1)
1485
                snd_play(snd_laz_c);
1486
            if (attacktimer <= 5)
1487
            {
1488
                fakesplash = instance_create(((x - (ff * 20)) + (60 * ff)) - (attacktimer * ff * 20), y - 60, o_boxing_splash);
1489
                fakesplash.friction = -0.5;
1490
                fakesplash.hspeed = (-2 - attacktimer) * ff;
1491
                fakesplash.vspeed = 2;
1492
            }
1493
            if (attacktimer == 1)
1494
            {
1495
                splash_hitbox = instance_create(x - (ff * 40), y - 40, o_boxing_hitbox);
1496
                with (splash_hitbox)
1497
                {
1498
                    hit_dodging = 1;
1499
                    give_hurt = 22 / f;
1500
                    timer = 2;
1501
                    damage = 30;
1502
                    image_yscale = 5;
1503
                    image_xscale = 12;
1504
                }
1505
                splash_hitbox.hit_direction = drawflip;
1506
                splash_hitbox_graze = instance_create(x - (ff * 30), y - 40, o_boxing_hitbox);
1507
                with (splash_hitbox_graze)
1508
                {
1509
                    graze_only = 1;
1510
                    image_xscale = 14;
1511
                    image_yscale = 5;
1512
                }
1513
            }
1514
            if (attacktimer >= 2)
1515
            {
1516
                makedizzy = 140 / f;
1517
                invincible_l = 0;
1518
                invincible_r = 0;
1519
                blocking = -1;
1520
            }
1521
            if ((splash_amount == 2 && attacktimer >= (15 / f) && punch_type != 2) || (splash_amount == 2 && attacktimer >= (7 / f) && punch_type == 2))
1522
            {
1523
                if (drawflip == 0)
1524
                    drawflip = 1;
1525
                else
1526
                    drawflip = 0;
1527
                attacktimer = 0;
1528
                attackcon = 0;
1529
                splash_amount = 0;
1530
                image_index = 0;
1531
            }
1532
            if (attacktimer >= ((45 / f) - ((attack_succeeded * 20) / f)))
1533
            {
1534
                vspeed -= (6 * f);
1535
                if (y <= (basey + 20))
1536
                {
1537
                    attackcon = 0;
1538
                    y = basey;
1539
                    vspeed = 0;
1540
                    hspeed = 0;
1541
                    attack_succeeded = 0;
1542
                    event_user(1);
1543
                }
1544
            }
1545
        }
1546
    }
1547
    if (attacktype == 3)
1548
    {
1549
        if (attackcon == 0)
1550
        {
1551
            makedizzy = 180 / f;
1552
            blocking = -1;
1553
            if (arcade)
1554
                snd_play(snd_queen_laugh_0_bc);
1555
            else
1556
                snd_play(snd_queen_laugh_0);
1557
            sprite_index = spr_bqueen_laugh;
1558
            if (o_boxingcontroller.wireframe_boxing == 1)
1559
                sprite_index = spr_bqueen_laugh_wireframe;
1560
            image_index = 0;
1561
            invincible_l = 0;
1562
            invincible_r = 0;
1563
            attackcon = 1;
1564
            attacktimer = 0;
1565
            laughtimer = 0;
1566
        }
1567
        if (attackcon == 1)
1568
        {
1569
            laughtimer += 1;
1570
            attacktimer += 1;
1571
            if (o_boxinghud.sub_healthbar_count == 0 && o_boxingcontroller.beat_phase2_no_damage_taken == 1)
1572
                attacktimer += 3;
1573
            if (laughtimer == (10 / f))
1574
            {
1575
                if (image_index == 0)
1576
                    image_index = 1;
1577
                else
1578
                    image_index = 0;
1579
                laughtimer = 0;
1580
            }
1581
            if (attacktimer >= (100 / f))
1582
                attackcon = 2;
1583
        }
1584
        if (attackcon == 2)
1585
        {
1586
            attackcon = 0;
1587
            attacktype = 0;
1588
            state = 0;
1589
            sprite_index = spr_bqueen_idle;
1590
            if (o_boxingcontroller.wireframe_boxing == 1)
1591
                sprite_index = spr_bqueen_idle_wireframe;
1592
            event_user(1);
1593
            event_user(2);
1594
            if (attacktype == 3)
1595
                sprite_index = spr_bqueen_laugh;
1596
            if (o_boxingcontroller.wireframe_boxing == 1 && attacktype == 3)
1597
                sprite_index = spr_bqueen_laugh_wireframe;
1598
        }
1599
    }
1600
    if (attacktype == 4)
1601
    {
1602
        if (attackcon == 0 && pirouette_amount != 7)
1603
        {
1604
            blocking = -1;
1605
            sprite_index = spr_bqueen_pirouette;
1606
            image_index = 0;
1607
            friction = 0;
1608
            gravity = 0;
1609
            invincible_l = 1;
1610
            invincible_r = 1;
1611
            vspeed = -8 * f;
1612
            attacktimer = 0;
1613
            attackcon = 1;
1614
        }
1615
        if (attackcon == 0 && pirouette_amount == 7)
1616
        {
1617
            blocking = -1;
1618
            snd_play(snd_cardrive);
1619
            snd_pitch(snd_cardrive, 1.2);
1620
            specialcon = 1;
1621
            drawflip = 1;
1622
            sprite_index = spr_bqueen_ducking;
1623
            image_index = 0;
1624
            friction = 0;
1625
            gravity = 0;
1626
            invincible_l = 1;
1627
            invincible_r = 1;
1628
            attacktimer = 0;
1629
            attackcon = 0.5;
1630
        }
1631
        if (attackcon == 0.5 && pirouette_amount == 7)
1632
        {
1633
            attacktimer++;
1634
            if (attacktimer <= 15)
1635
                x = (basex - random(10 - (attacktimer / 1.5))) + random((10 - (attacktimer / 1.5)) * 2);
1636
            if (attacktimer <= 15)
1637
                y = (basey - random(10 - (attacktimer / 1.5))) + random((10 - (attacktimer / 1.5)) * 2);
1638
            if (attacktimer == 30)
1639
            {
1640
                x = basex;
1641
                y = basey;
1642
                blocking = -1;
1643
                sprite_index = spr_bqueen_pirouette;
1644
                image_index = 0;
1645
                friction = 0;
1646
                gravity = 0;
1647
                vspeed = -8 * f;
1648
                attacktimer = 0;
1649
                attackcon = 1;
1650
            }
1651
        }
1652
        if (attackcon == 1)
1653
        {
1654
            attacktimer_threshold = 18 / f;
1655
            if (pirouette_type == 1)
1656
                attacktimer_threshold = 20 / f;
1657
            pirouette_count = 0;
1658
            if (vspeed < 0)
1659
                vspeed += (0.5 * f);
1660
            if (vspeed >= 0)
1661
            {
1662
                attacktimer += 1;
1663
                if (attacktimer == 1)
1664
                {
1665
                    sprite_index = spr_bqueen_pirouette_flash;
1666
                    event_user(5);
1667
                    sprite_index = spr_bqueen_pirouette;
1668
                    if (arcade)
1669
                        snd_play(snd_bell_bc);
1670
                    else
1671
                        snd_play(snd_bell_bounce_short);
1672
                }
1673
                if (attacktimer >= 1 && attacktimer < (15 / f) && pirouette_type == 1)
1674
                {
1675
                    afterimage = instance_create(x, y, o_afterimage);
1676
                    afterimage.sprite_index = sprite_index;
1677
                    afterimage.hasboss = 0;
1678
                    afterimage.rate = 0.1;
1679
                    afterimage.image_xscale = 2;
1680
                    afterimage.image_yscale = 2;
1681
                    afterimage.gravity = -1 * f;
1682
                    afterimage.hspeed = (random(4) - 2) * f;
1683
                }
1684
                if (attacktimer >= attacktimer_threshold)
1685
                    attackcon = 2;
1686
            }
1687
        }
1688
        if (attackcon == 2)
1689
        {
1690
            attack_succeeded = 0;
1691
            vspeed = 16 * f;
1692
            if (pirouette_amount == 7)
1693
                vspeed = 12 * f;
1694
            depth = o_boxingcontroller.depth - 1;
1695
            image_speed = 0.25 * f;
1696
            attacktimer = 0;
1697
            attackcon = 3;
1698
            snd_play(snd_fall_cool_deep);
1699
            snd_pitch(snd_fall_cool_deep, 1.7);
1700
            snd_volume(snd_fall_cool_deep, 0.5, 0);
1701
            dive_hitbox = instance_create(x, y - 20, o_boxing_hitbox);
1702
            with (dive_hitbox)
1703
            {
1704
                hit_ducking = 1;
1705
                give_hurt = 30 / f;
1706
                give_invincibility = 40 / f;
1707
                timer = 400;
1708
                damage = 25;
1709
                image_yscale = 4;
1710
                image_xscale = 2.8;
1711
            }
1712
            dive_hitbox.hit_direction = drawflip;
1713
        }
1714
        if (attackcon == 3)
1715
        {
1716
            pirouette_done = 0;
1717
            if (i_ex(dive_hitbox))
1718
                dive_hitbox.y = y - 20;
1719
            if (pirouette_type == 1)
1720
            {
1721
                if (y >= 780)
1722
                    attacktimer -= 1;
1723
                if (attacktimer < 0 && pirouette_count < pirouette_amount)
1724
                {
1725
                    snd_play(snd_fall_cool_deep);
1726
                    snd_pitch(snd_fall_cool_deep, 1.7);
1727
                    pirouette_count += 1;
1728
                    attacktimer = 36 / f;
1729
                    if (pirouette_amount == 7)
1730
                        attacktimer = 46 / f;
1731
                    p_side = choose(-1, 0, 1);
1732
                    pqueen1 = instance_create(basex + (90 * p_side), -20, o_fallingqueen);
1733
                    p_side_2 = choose(-1, 0, 1);
1734
                    while (p_side_2 == p_side)
1735
                        p_side_2 = choose(-1, 0, 1);
1736
                    pqueen2 = instance_create(basex + (90 * p_side_2), -20, o_fallingqueen);
1737
                }
1738
                if (attacktimer < (-20 / f) && pirouette_count >= pirouette_amount)
1739
                    pirouette_done = 1;
1740
            }
1741
            if (pirouette_type == 0 && y >= 780)
1742
                pirouette_done = 1;
1743
            if (pirouette_done == 1)
1744
            {
1745
                pirouette_count += 1;
1746
                if (pirouette_count >= pirouette_amount)
1747
                {
1748
                    with (dive_hitbox)
1749
                        instance_destroy();
1750
                    attackcon = 4;
1751
                    y = basey;
1752
                    x = -20;
1753
                    vspeed = 0;
1754
                    hspeed = 24 * f;
1755
                    depth = original_depth;
1756
                }
1757
                else if (pirouette_type == 0)
1758
                {
1759
                    p_side = choose(-1, 0, 1);
1760
                    y = -20;
1761
                    vspeed = 14 * f;
1762
                    if (i_ex(dive_hitbox))
1763
                    {
1764
                        dive_hitbox.x = basex + (90 * p_side);
1765
                        if (dive_hitbox.x != basex)
1766
                            dive_hitbox.hit_dodging = 1;
1767
                        else
1768
                            dive_hitbox.hit_dodging = 0;
1769
                        if (dive_hitbox.x == (basex - 90))
1770
                            dive_hitbox.hit_direction = 0;
1771
                        if (dive_hitbox.x == (basex + 90))
1772
                            dive_hitbox.hit_direction = 1;
1773
                    }
1774
                    x = basex + (p_side * 90);
1775
                }
1776
            }
1777
        }
1778
        if (attackcon == 4)
1779
        {
1780
            pirouette_count = 0;
1781
            pirouette_done = 0;
1782
            if (x >= (basex - 60))
1783
            {
1784
                makedizzy = 200 / f;
1785
                invincible_l = 0;
1786
                invincible_r = 0;
1787
                blocking = -1;
1788
                if (o_boxingcontroller.phase3_hit_check == 1)
1789
                {
1790
                    o_boxingcontroller.phase3_damage_multiplier += 0.2;
1791
                    o_boxingcontroller.phase3_hit_check = 0;
1792
                }
1793
            }
1794
            if (x >= (basex - 10))
1795
            {
1796
                makedizzy = 200 / f;
1797
                vspeed = 0;
1798
                hspeed = 0;
1799
                image_speed = 0;
1800
                image_index = 0;
1801
                sprite_index = spr_bqueen_leggy;
1802
                x = basex;
1803
                if (arcade)
1804
                    snd_play(motor_upper_quick_high_bc);
1805
                else
1806
                    snd_play(motor_upper_quick_high);
1807
                invincible_l = 0;
1808
                invincible_r = 0;
1809
                blocking = -1;
1810
                attacktimer = 0;
1811
                attackcon = 5;
1812
            }
1813
        }
1814
        if (attackcon == 5)
1815
        {
1816
            attacktimer += 1;
1817
            if (attacktimer >= ((45 / f) - ((attack_succeeded * 45) / f)))
1818
            {
1819
                snd_volume(snd_fall_cool_deep, 1, 0);
1820
                speed = 0;
1821
                image_index = 0;
1822
                image_speed = 0;
1823
                attackcon = 0;
1824
                attacktimer = 0;
1825
                attack_succeeded = 0;
1826
                event_user(1);
1827
            }
1828
        }
1829
    }
1830
    if (attacktype == 5)
1831
    {
1832
        if (attackcon == 0)
1833
        {
1834
            attack_succeeded = 0;
1835
            blocking = -1;
1836
            invincible_r = 1;
1837
            invincible_l = 1;
1838
            sprite_index = spr_bqueen_leggy;
1839
            if (o_boxingcontroller.wireframe_boxing == 1)
1840
                sprite_index = spr_bqueen_laugh_wireframe;
1841
            if (o_boxingcontroller.wireframe_boxing == 1)
1842
            {
1843
                o_boxing_wireframe.text = o_boxingcontroller.duck_string;
1844
                o_boxing_wireframe.text_reset_timer = 1;
1845
                o_boxing_wireframe.text_timer = 0;
1846
                duckhintcount++;
1847
                if (duckhintcount >= 4)
1848
                {
1849
                    duckhintcount = 0;
1850
                    with (o_boxing_wireframe)
1851
                    {
1852
                        msgsetsubloc(0, "Press ~1&to Duck!", scr_get_input_name
scr_get_input_name

function scr_get_input_name(arg0) { var _control = "[?]"; if (global.is_console || obj_gamecontroller.gamepad_active) { _control = global.input_g[arg0]; if (_control == gp_padr) return "\\*D "; if (_control == gp_padl) return "\\*A "; if (_control == gp_padu) return "\\*W "; if (_control == gp_padd) return "\\*S "; if (_control == global.button0) return "\\*Z "; if (_control == global.button1) return "\\*X "; if (_control == global.button2) return "\\*C "; } var left_bracket = (global.lang == "en") ? "[" : "["; var right_bracket = (global.lang == "en") ? "]" : "]"; _control = left_bracket + global.asc_def[global.input_k[arg0]] + right_bracket; if (!is_string(_control)) _control = "[?]"; else return _control; }
(0), "o_boxingqueen_slash_Step_0_gml_1200_0");
1853
                        global.typer = 50;
1854
                        queenbubble = scr_enemyblcon
scr_enemyblcon

function scr_enemyblcon(arg0, arg1, arg2) { if (arg2 == 0) { mywriter = instance_create(arg0, arg1, obj_writer); return mywriter; } if (arg2 == 1) { myblcon = instance_create(arg0, arg1, obj_battleblcon); return myblcon; } if (arg2 == 2) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_v; return myblcon; } if (arg2 == 3) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_long; return myblcon; } if (arg2 == 4) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_clubs; myblcon.image_index = 0; myblcon.image_speed = 0; return myblcon; } if (arg2 == 5) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_clubs; myblcon.image_index = 1; myblcon.image_speed = 0; return myblcon; } if (arg2 == 6) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_clubs; myblcon.image_index = 2; myblcon.image_speed = 0; return myblcon; } if (arg2 == 7) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_long_r; myblcon.image_index = 2; myblcon.image_speed = 0; return myblcon; } if (arg2 == 8) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_long_tall; return myblcon; } if (arg2 == 10) { myblcon = instance_create(arg0, arg1, obj_battleblcon); myblcon.sprite_index = spr_battleblcon_long; myblcon.auto_length = 1; return myblcon; } }
(camerax() + 428, cameray() + 388, 7);
1855
                        talktimer = 0;
1856
                        talking = true;
1857
                        with (queenbubble)
1858
                        {
1859
                            depth = obj_ch2_scene10.qu_actor.depth - 1;
1860
                            auto_length = 1;
1861
                            side = -1;
1862
                            xoffset = 222;
1863
                        }
1864
                        talktype = 1;
1865
                    }
1866
                }
1867
            }
1868
            vspeed = -0.5 * f;
1869
            friction = -0.4 * f;
1870
            attackcon = 1;
1871
            wheeltimer = 20 / f;
1872
            wheel_count = 0;
1873
            minitimer = 0;
1874
            attacktimer = 0;
1875
            firstwheelattackdelay = 0;
1876
            if (firstwheelattack == 0)
1877
                firstwheelattackdelay = 10;
1878
            if (o_boxingcontroller.wireframe_boxing == 0)
1879
            {
1880
                instance_create(x - 132, y, obj_wheel_tutorial_arrow);
1881
                instance_create(x + 84, y, obj_wheel_tutorial_arrow);
1882
            }
1883
        }
1884
        if (attackcon == 1)
1885
        {
1886
            wheel_done = 0;
1887
            wheeltimer += 1;
1888
            var a = 0;
1889
            if (o_boxingcontroller.wireframe_boxing == 1)
1890
                a = 10;
1891
            if (o_boxingcontroller.wireframe_boxing == 1 && wheel_count > 0)
1892
                a = 20;
1893
            if (o_boxingcontroller.wireframe_boxing == 0 && firstwheelattack == 0 && wheel_count != 0)
1894
                a = 30;
1895
            if (wheeltimer >= (((50 + a) / f) - ((wheel_type * 9) / f)))
1896
            {
1897
                wheeltimer = 0;
1898
                wheel1 = instance_create(-215, 255, o_boxing_wheel);
1899
                wheel2 = instance_create(825, 255, o_boxing_wheel);
1900
                with (wheel2)
1901
                {
1902
                    hspeed = -hspeed;
1903
                    rotspeed = -rotspeed;
1904
                }
1905
                if (o_boxingcontroller.wireframe_boxing == 0 && firstwheelattack == 0)
1906
                {
1907
                    with (wheel1)
1908
                        hspeed /= 1.4;
1909
                    with (wheel2)
1910
                        hspeed /= 1.4;
1911
                }
1912
                wheel_count += 1;
1913
                if (punch_type == 2 && wheel_count >= (wheel_amount + 2))
1914
                    wheel_done = 1;
1915
                if (punch_type != 2 && wheel_count >= wheel_amount)
1916
                    wheel_done = 1;
1917
                if (o_boxingcontroller.wireframe_boxing == 1 && first_octagon_attack == 0)
1918
                    wheel_done = 1;
1919
            }
1920
            minitimer += 1;
1921
            attacktimer += 1;
1922
            if (attacktimer == 1)
1923
            {
1924
                snd_play(snd_wing);
1925
                snd_pitch(snd_wing, 0.75 + (random(1) / 2));
1926
            }
1927
            if (attacktimer < (20 / f) && minitimer >= (4 / f))
1928
            {
1929
                minitimer = 0;
1930
                miniwheel = instance_create(x - 74, y - 122, o_miniwheel);
1931
                miniwheel.hspeed = (-5 - random(1)) * f;
1932
                miniwheel = instance_create(x + 66, y - 122, o_miniwheel);
1933
                miniwheel.hspeed = (5 + random(1)) * f;
1934
            }
1935
            if (attacktimer == (20 / f))
1936
            {
1937
                vspeed = 0;
1938
                friction = 0;
1939
                sprite_index = spr_bqueen_laugh;
1940
                if (o_boxingcontroller.wireframe_boxing == 1)
1941
                    sprite_index = spr_bqueen_laugh_wireframe;
1942
                snd_play(snd_queen_laugh_0);
1943
                snd_volume(snd_queen_laugh_0, 0.5, 0);
1944
                if (o_boxingcontroller.wireframe_boxing == 0)
1945
                    image_speed = 0.1;
1946
            }
1947
            if (wheel_done == 1)
1948
            {
1949
                attackcon = 2;
1950
                attacktimer = 0;
1951
            }
1952
        }
1953
        if (attackcon == 2)
1954
        {
1955
            attacktimer += 1;
1956
            if (attacktimer == ((38 / f) + firstwheelattackdelay))
1957
            {
1958
                invincible_l = 0;
1959
                invincible_r = 0;
1960
                makedizzy = 180 / f;
1961
            }
1962
            if (attacktimer >= ((34 / f) + firstwheelattackdelay))
1963
            {
1964
                if (y < basey)
1965
                {
1966
                    vspeed += (1 * f);
1967
                    firstwheelattack = 0;
1968
                }
1969
                else
1970
                {
1971
                    if (o_boxingcontroller.phase3_hit_check == 1)
1972
                    {
1973
                        o_boxingcontroller.phase3_damage_multiplier += 0.2;
1974
                        o_boxingcontroller.phase3_hit_check = 0;
1975
                    }
1976
                    speed = 0;
1977
                    y = basey;
1978
                    x = basex;
1979
                }
1980
            }
1981
            if (attacktimer >= (((100 / f) - ((attack_succeeded * 25) / f)) + firstwheelattackdelay))
1982
            {
1983
                snd_volume(snd_queen_laugh_0, 0.5, 1);
1984
                if (o_boxingcontroller.wireframe_boxing == 1)
1985
                    first_octagon_attack = 1;
1986
                if (instance_exists(o_boxing_wireframe) && o_boxing_wireframe.text == o_boxingcontroller.duck_string)
1987
                    o_boxing_wireframe.text = o_boxingcontroller.default_string;
1988
                event_user(1);
1989
            }
1990
        }
1991
    }
1992
    if (attacktype == 6)
1993
    {
1994
        if (attackcon == 0)
1995
        {
1996
            blocking = -1;
1997
            sprite_index = spr_bqueen_kick;
1998
            image_index = 0;
1999
            vspeed = -24 * f;
2000
            invincible_l = 1;
2001
            invincible_r = 1;
2002
            attacktimer = 0;
2003
            attackcon = 1;
2004
            if (arcade)
2005
            {
2006
                snd_play(snd_jump_bc);
2007
                snd_play(snd_rocket_bc);
2008
                snd_play(snd_screenshake_bc);
2009
            }
2010
            else
2011
            {
2012
                snd_play(snd_jump);
2013
                snd_play(snd_rocket);
2014
                snd_play(snd_screenshake);
2015
            }
2016
            d = instance_create(0, 0, obj_shake);
2017
            d.shakex = ceil(2);
2018
            d.shakey = ceil(2);
2019
        }
2020
        if (attackcon == 1)
2021
        {
2022
            attacktimer += 1;
2023
            flash = instance_create(x, y, o_afterimage);
2024
            flash.sprite_index = sprite_index;
2025
            flash.image_index = image_index;
2026
            flash.image_xscale = image_xscale;
2027
            flash.image_yscale = image_yscale;
2028
            if (drawflip == 1)
2029
                flash.image_xscale *= -1;
2030
            flash.image_blend = image_blend;
2031
            flash.image_speed = 0;
2032
            flash.boss = id;
2033
            flash.image_alpha = 1.5;
2034
            flash.rate = 0.2;
2035
            flash.hasboss = 0;
2036
            if (vspeed < 0)
2037
                vspeed += (0.4 * f);
2038
            if (attacktimer > (10 / f))
2039
                attackcon = 2;
2040
        }
2041
        if (attackcon == 2)
2042
        {
2043
            attack_succeeded = 0;
2044
            attacktimer = 0;
2045
            attackcon = 3;
2046
            instance_create(x, y - 20, obj_bg_attack);
2047
            if (punch_type == 1)
2048
            {
2049
                with (obj_bg_attack)
2050
                    variant = 1;
2051
            }
2052
            if (punch_type == 2)
2053
            {
2054
                with (obj_bg_attack)
2055
                    variant = 2;
2056
            }
2057
        }
2058
        if (attackcon == 3)
2059
        {
2060
            if (!instance_exists(obj_bg_attack))
2061
            {
2062
                y = basey;
2063
                x = -20;
2064
                vspeed = 0;
2065
                hspeed = 24 * f;
2066
                depth = original_depth;
2067
                attack_succeeded = 1;
2068
                attackcon = 4;
2069
                if (o_boxingcontroller.phase3_hit_check == 1)
2070
                {
2071
                    o_boxingcontroller.phase3_damage_multiplier += 0.2;
2072
                    o_boxingcontroller.phase3_hit_check = 0;
2073
                }
2074
            }
2075
        }
2076
        if (attackcon == 4)
2077
        {
2078
            if (x >= (basex - 60))
2079
            {
2080
                makedizzy = 200 / f;
2081
                invincible_l = 0;
2082
                invincible_r = 0;
2083
                blocking = -1;
2084
            }
2085
            if (x >= (basex - 10))
2086
            {
2087
                makedizzy = 200 / f;
2088
                vspeed = 0;
2089
                hspeed = 0;
2090
                image_speed = 0;
2091
                image_index = 0;
2092
                sprite_index = spr_bqueen_leggy;
2093
                x = basex;
2094
                invincible_l = 0;
2095
                invincible_r = 0;
2096
                blocking = -1;
2097
                attacktimer = 0;
2098
                attackcon = 5;
2099
            }
2100
        }
2101
        if (attackcon == 5)
2102
        {
2103
            attacktimer += 1;
2104
            if (attacktimer >= ((45 / f) - ((attack_succeeded * 45) / f)))
2105
            {
2106
                speed = 0;
2107
                image_index = 0;
2108
                image_speed = 0;
2109
                attackcon = 0;
2110
                attack_succeeded = 0;
2111
                event_user(1);
2112
            }
2113
        }
2114
    }
2115
    if (attacktype == 7)
2116
    {
2117
        if (attackcon == 0)
2118
        {
2119
            vertical_laser_amount = 3;
2120
            horizontal_laser_amount = 2;
2121
            if (punch_type == 1)
2122
                horizontal_laser_amount = 4;
2123
            blocking = -1;
2124
            sprite_index = spr_bqueen_splash;
2125
            image_index = 0;
2126
            invincible_l = 1;
2127
            invincible_r = 1;
2128
            rand_fix = 0;
2129
            if (drawflip == 0)
2130
            {
2131
                ff = -1;
2132
                hspeed = -4;
2133
                vspeed = -5;
2134
            }
2135
            if (drawflip == 1)
2136
            {
2137
                ff = 1;
2138
                hspeed = 4;
2139
                vspeed = -5;
2140
            }
2141
            attacktimer = 0;
2142
            attackcon = 1;
2143
        }
2144
        if (attackcon == 1)
2145
        {
2146
            attacktimer += 1;
2147
            if (attacktimer == (10 / f))
2148
                speed = 0;
2149
            if (attacktimer == (30 / f))
2150
            {
2151
                if (ff == -1)
2152
                {
2153
                    hspeed = 2;
2154
                    vspeed = -6;
2155
                    drawflip = 1;
2156
                }
2157
                else
2158
                {
2159
                    hspeed = -2;
2160
                    vspeed = -6;
2161
                    drawflip = 0;
2162
                }
2163
            }
2164
            if (attacktimer >= (40 / f) && attacktimer <= (50 / f))
2165
                speed = 0;
2166
            if (attacktimer == (50 / f))
2167
                sprite_index = spr_bqueen_laser_down;
2168
            if (attacktimer == (70 / f))
2169
            {
2170
                sprite_index = spr_bqueen_laser_down_flash;
2171
                event_user(5);
2172
                sprite_index = spr_bqueen_laser_down;
2173
            }
2174
            if (attacktimer == (80 / f))
2175
            {
2176
                vertical_laser_amount -= 1;
2177
                sprite_index = spr_bqueen_laser_down;
2178
                image_index = 0;
2179
                vspeed = -0.5;
2180
                instance_create(x - 7, y - 37, obj_bq_laser_circle);
2181
            }
2182
            if (attacktimer > (80 / f) && attacktimer < (110 / f))
2183
                vspeed = -0.2;
2184
            if (attacktimer >= (110 / f) && attacktimer <= (130 / f))
2185
            {
2186
                speed = 0;
2187
                image_index = 0;
2188
                attacktimer = 80;
2189
            }
2190
            if (attacktimer == (160 / f))
2191
            {
2192
                var rand = irandom(30);
2193
                if (rand_fix == 1)
2194
                {
2195
                    rand = 10 + irandom(20);
2196
                }
2197
                else if (rand_fix == 2)
2198
                {
2199
                    rand = 20 + irandom(20);
2200
                    if (rand > 30)
2201
                        rand = 5;
2202
                }
2203
                else if (rand_fix == 3)
2204
                {
2205
                    rand = irandom(20);
2206
                }
2207
                if (rand_fix != 0)
2208
                {
2209
                    if (rand < 10)
2210
                    {
2211
                        hspeed = -20 * f;
2212
                        if (x > 360)
2213
                            hspeed = -40 * f;
2214
                    }
2215
                    else if (rand >= 10 && rand < 20)
2216
                    {
2217
                        hspeed = 20 * f;
2218
                        if (x < 280)
2219
                            hspeed = 40 * f;
2220
                    }
2221
                    else if (rand >= 20)
2222
                    {
2223
                        hspeed = -20 * f;
2224
                        if (x < 320)
2225
                            hspeed = 20 * f;
2226
                    }
2227
                }
2228
                else if (rand < 10)
2229
                {
2230
                    rand_fix = 1;
2231
                    hspeed = -20 * f;
2232
                    vspeed = 2 * f;
2233
                }
2234
                else if (rand >= 10 && rand < 20)
2235
                {
2236
                    rand_fix = 2;
2237
                    hspeed = 20 * f;
2238
                    vspeed = 2 * f;
2239
                }
2240
                else if (rand > 20)
2241
                {
2242
                    rand_fix = 3;
2243
                    vspeed = 3 * f;
2244
                }
2245
            }
2246
            if (attacktimer >= (160 / f) && attacktimer <= (166 / f) && hspeed != 0)
2247
            {
2248
                afterimage = instance_create(x, y, o_afterimage);
2249
                afterimage.sprite_index = sprite_index;
2250
                afterimage.hasboss = 0;
2251
                afterimage.rate = 0.1;
2252
                afterimage.image_xscale = -2;
2253
                if (drawflip == 0)
2254
                    afterimage.image_xscale = 2;
2255
                afterimage.image_yscale = 2;
2256
            }
2257
            if (attacktimer == (166 / f))
2258
            {
2259
                speed = 0;
2260
                if (vertical_laser_amount > 1)
2261
                    attacktimer = 24;
2262
                else
2263
                    attacktimer = 83;
2264
            }
2265
            if (attacktimer == (170 / f))
2266
                sprite_index = spr_bqueen_laser_down;
2267
            if (attacktimer == (190 / f))
2268
            {
2269
                sprite_index = spr_bqueen_laser_down_flash;
2270
                event_user(5);
2271
                sprite_index = spr_bqueen_laser_down;
2272
            }
2273
            if (attacktimer == (200 / f))
2274
            {
2275
                sprite_index = spr_bqueen_laser_down;
2276
                image_index = 0;
2277
                vspeed = -0.5;
2278
                instance_create(x - 7, y - 37, obj_bq_laser_circle);
2279
            }
2280
            if (attacktimer > (200 / f) && attacktimer < (260 / f))
2281
                vspeed = -0.2;
2282
            if (attacktimer == (260 / f))
2283
            {
2284
                speed = 0;
2285
                sprite_index = spr_bqueen_splash;
2286
                image_index = 0;
2287
                attacktimer = 140;
2288
            }
2289
            if (attacktimer == (280 / f))
2290
            {
2291
                var rand = irandom(20);
2292
                if (rand < 10)
2293
                {
2294
                    ff = -1;
2295
                    move_towards_point(60, 415, 70);
2296
                    drawflip = 0;
2297
                }
2298
                else
2299
                {
2300
                    ff = 1;
2301
                    move_towards_point(580, 415, 70);
2302
                    drawflip = 1;
2303
                }
2304
            }
2305
            if ((attacktimer >= (280 / f) && attacktimer <= (400 / f) && hspeed != 0) || (attacktimer >= (280 / f) && vspeed != 0))
2306
            {
2307
                var rand = irandom(20);
2308
                if (ff == -1 && x < 60)
2309
                {
2310
                    hspeed = 0;
2311
                    x = 60;
2312
                }
2313
                if (ff == 1 && x > 580)
2314
                {
2315
                    hspeed = 0;
2316
                    x = 580;
2317
                }
2318
                if (y > 415)
2319
                {
2320
                    vspeed = 0;
2321
                    y = 415;
2322
                }
2323
                afterimage = instance_create(x, y, o_afterimage);
2324
                afterimage.sprite_index = sprite_index;
2325
                afterimage.hasboss = 0;
2326
                afterimage.rate = 0.4;
2327
                afterimage.image_xscale = -2;
2328
                if (drawflip == 0)
2329
                    afterimage.image_xscale = 2;
2330
                afterimage.image_yscale = 2;
2331
                attacktimer = 320 / f;
2332
            }
2333
            if (attacktimer == (320 / f) && vspeed == 0 && hspeed == 0)
2334
            {
2335
                event_user(5);
2336
                attacktimer = 328 / f;
2337
            }
2338
            if (attacktimer == (330 / f) && vspeed == 0 && hspeed == 0)
2339
            {
2340
                sprite_index = spr_bqueen_laser_side;
2341
                image_index = 0;
2342
                if (ff == 1)
2343
                    drawflip = 0;
2344
                else
2345
                    drawflip = 1;
2346
                instance_create(x, y, obj_bq_laser_horizontal_telegraph);
2347
            }
2348
            if (attacktimer >= (330 / f) && attacktimer < (374 / f) && !instance_exists(obj_bq_laser_horizontal_telegraph) && !instance_exists(obj_bq_laser_circle))
2349
            {
2350
                circle = instance_create(x, y, obj_bq_laser_circle);
2351
                circle.horizontal = 1;
2352
                horizontal_laser_amount -= 1;
2353
                attacktimer = 430 / f;
2354
            }
2355
            if (attacktimer == (450 / f))
2356
            {
2357
                sprite_index = spr_bqueen_laugh;
2358
                image_index += 0.2;
2359
                if (path_exists(path))
2360
                    path_delete(path);
2361
                if (x < 320)
2362
                {
2363
                    path = path_add();
2364
                    path_set_kind(path, 1);
2365
                    path_set_closed(path, false);
2366
                    path_add_point(path, x, y, 100);
2367
                    path_add_point(path, 320, 300, 100);
2368
                    path_add_point(path, 580, y, 100);
2369
                    path_start(path, 40, path_action_stop, 1);
2370
                }
2371
                else
2372
                {
2373
                    path = path_add();
2374
                    path_set_kind(path, 1);
2375
                    path_set_closed(path, false);
2376
                    path_add_point(path, x, y, 100);
2377
                    path_add_point(path, 320, 300, 100);
2378
                    path_add_point(path, 60, y, 100);
2379
                    path_start(path, 40, path_action_stop, 1);
2380
                }
2381
                makedizzy = 150 / f;
2382
            }
2383
            if (attacktimer > (450 / f) && attacktimer < (496 / f))
2384
            {
2385
                if (x > 260 && x < 380)
2386
                {
2387
                    blocking = -1;
2388
                    invincible_l = 0;
2389
                    invincible_r = 0;
2390
                }
2391
                else
2392
                {
2393
                    blocking = -1;
2394
                    invincible_l = 1;
2395
                    invincible_r = 1;
2396
                }
2397
            }
2398
            if (attacktimer > (470 / f) && attacktimer < (496 / f) && path_index == -1)
2399
            {
2400
                if (x < 70 && path_index == -1)
2401
                {
2402
                    hspeed = 0;
2403
                    x = 60;
2404
                    sprite_index = spr_bqueen_laser_side;
2405
                    image_index = 0;
2406
                    if (x < 320)
2407
                        drawflip = 1;
2408
                    else
2409
                        drawflip = 0;
2410
                    attacktimer = 496 / f;
2411
                }
2412
                if (x > 570 && path_index == -1)
2413
                {
2414
                    hspeed = 0;
2415
                    x = 580;
2416
                    sprite_index = spr_bqueen_laser_side;
2417
                    image_index = 0;
2418
                    if (x < 320)
2419
                        drawflip = 1;
2420
                    else
2421
                        drawflip = 0;
2422
                    attacktimer = 496 / f;
2423
                }
2424
            }
2425
            if (attacktimer == (496 / f))
2426
                instance_create(x, y, obj_bq_laser_horizontal_telegraph);
2427
            if (attacktimer >= (496 / f) && attacktimer < (545 / f) && !instance_exists(obj_bq_laser_horizontal_telegraph) && !instance_exists(obj_bq_laser_circle))
2428
            {
2429
                circle = instance_create(x, y, obj_bq_laser_circle);
2430
                circle.horizontal = 1;
2431
                horizontal_laser_amount -= 1;
2432
                if (horizontal_laser_amount > 0)
2433
                    attacktimer = 430 / f;
2434
            }
2435
            if (attacktimer == (570 / f))
2436
            {
2437
                if (x < 320)
2438
                    hspeed = -20;
2439
                else
2440
                    hspeed = 20;
2441
            }
2442
            if (attacktimer == (576 / f))
2443
            {
2444
                attackcon = 3;
2445
                attacktimer = 0;
2446
            }
2447
        }
2448
        if (attackcon == 3)
2449
        {
2450
            y = basey;
2451
            if (hspeed > 0)
2452
            {
2453
                x = -20;
2454
                hspeed = 24 * f;
2455
            }
2456
            if (hspeed < 0)
2457
            {
2458
                x = 660;
2459
                hspeed = -24 * f;
2460
            }
2461
            vspeed = 0;
2462
            depth = original_depth;
2463
            attack_succeeded = 1;
2464
            attackcon = 4;
2465
        }
2466
        if (attackcon == 4)
2467
        {
2468
            if (x >= (basex - 60))
2469
            {
2470
                makedizzy = 200 / f;
2471
                invincible_l = 0;
2472
                invincible_r = 0;
2473
                blocking = -1;
2474
            }
2475
            if (x >= (basex - 10) && x <= (basex + 10))
2476
            {
2477
                makedizzy = 200 / f;
2478
                vspeed = 0;
2479
                hspeed = 0;
2480
                image_speed = 0;
2481
                image_index = 0;
2482
                sprite_index = spr_bqueen_leggy;
2483
                x = basex;
2484
                invincible_l = 0;
2485
                invincible_r = 0;
2486
                blocking = -1;
2487
                attacktimer = 0;
2488
                attackcon = 5;
2489
            }
2490
        }
2491
        if (attackcon == 5)
2492
        {
2493
            attacktimer += 1;
2494
            if (attacktimer >= ((45 / f) - ((attack_succeeded * 45) / f)))
2495
            {
2496
                speed = 0;
2497
                image_index = 0;
2498
                image_speed = 0;
2499
                attackcon = 0;
2500
                attack_succeeded = 0;
2501
                event_user(1);
2502
            }
2503
        }
2504
    }
2505
    if (attacktype == 8)
2506
    {
2507
        if (attackcon == 0)
2508
        {
2509
            if (punch_type == 1)
2510
                baseball_amount = 1;
2511
            if (punch_type == 2)
2512
                baseball_amount = 2;
2513
            if (punch_type == 3)
2514
                baseball_amount = 3;
2515
            if (punch_type == 4)
2516
                baseball_amount = 3;
2517
            blocking = -1;
2518
            invincible_l = 1;
2519
            invincible_r = 1;
2520
            arcadebaseballused++;
2521
            attacktimer = 0;
2522
            o_boxingcontroller.hit_baseball = 0;
2523
            baseball_hit_boss_number = 0;
2524
            baseball_timer = -24;
2525
            sprite_index = spr_bqueen_laser_side;
2526
            if (o_boxingcontroller.wireframe_boxing == 1)
2527
                sprite_index = spr_bqueen_laser_side_wireframe;
2528
            image_index = 0;
2529
            y = basey;
2530
            vspeed = -32;
2531
            friction = 1.655;
2532
            if (first_normal_baseball_throw == 1 || o_boxingcontroller.wireframe_boxing == 1)
2533
            {
2534
                vspeed = -48.338;
2535
                friction = 2.5;
2536
            }
2537
            if (o_boxingcontroller.wireframe_boxing == 0)
2538
                __view_set(e__VW.YView, 0, __view_get(e__VW.YView, 0) + vspeed + 3);
2539
            drawflip = 0;
2540
            o_boxinghud.hide_ui = 1;
2541
            attackcon = 1;
2542
        }
2543
        if (attackcon == 1)
2544
        {
2545
            attacktimer += 1;
2546
            var end_attack_con_timer;
2547
            if (first_normal_baseball_throw == 0)
2548
                end_attack_con_timer = 40 / f;
2549
            if (first_normal_baseball_throw == 1 || o_boxingcontroller.wireframe_boxing == 1)
2550
                end_attack_con_timer = 30 / f;
2551
            if (attacktimer < end_attack_con_timer)
2552
            {
2553
                var cam_speed = vspeed + 3;
2554
                if (cam_speed > 0)
2555
                    cam_speed = 0;
2556
                if (o_boxingcontroller.wireframe_boxing == 0)
2557
                    __view_set(e__VW.YView, 0, __view_get(e__VW.YView, 0) + cam_speed);
2558
            }
2559
            if (attacktimer > end_attack_con_timer)
2560
            {
2561
                attackcon = 3;
2562
                attacktimer = 0;
2563
                sprite_index = spr_bqueen_laser_side;
2564
                if (o_boxingcontroller.wireframe_boxing == 1)
2565
                    sprite_index = spr_bqueen_laser_side_wireframe;
2566
            }
2567
            if (attacktimer == (20 / f) && o_boxingcontroller.wireframe_boxing == 1)
2568
            {
2569
                baseball_amount -= 1;
2570
                baseball = instance_create(x, -20, obj_bq_baseball);
2571
            }
2572
        }
2573
        if (attackcon == 3)
2574
        {
2575
            attacktimer += 1;
2576
            if (attacktimer == (2 / f))
2577
            {
2578
                if (o_boxingcontroller.wireframe_boxing == 0)
2579
                {
2580
                    if (arcade)
2581
                        snd_play(snd_cardrive_bc);
2582
                    else
2583
                        snd_play(snd_cardrive);
2584
                }
2585
                specialcon = 1;
2586
                attacktimer = 54 / f;
2587
            }
2588
            if (attacktimer == (56 / f))
2589
            {
2590
                sprite_index = spr_bqueen_laser_side_flash;
2591
                if (o_boxingcontroller.wireframe_boxing == 1)
2592
                    sprite_index = spr_bqueen_laser_side_flash_wireframe;
2593
                event_user(5);
2594
                sprite_index = spr_bqueen_laser_side;
2595
                if (o_boxingcontroller.wireframe_boxing == 1)
2596
                    sprite_index = spr_bqueen_laser_side_wireframe;
2597
                if (first_normal_baseball_throw == 1 || o_boxingcontroller.wireframe_boxing == 1)
2598
                {
2599
                    o_afterimage.rate = 0.4;
2600
                    attacktimer = 80 / f;
2601
                }
2602
            }
2603
            if (attacktimer >= (82 / f) && attacktimer < (86 / f))
2604
            {
2605
                sprite_index = spr_bqueen_punch;
2606
                if (o_boxingcontroller.wireframe_boxing == 1)
2607
                    sprite_index = spr_bqueen_punch_wireframe;
2608
                image_index = 1;
2609
            }
2610
            if (attacktimer == (86 / f))
2611
            {
2612
                sprite_index = spr_bqueen_punch;
2613
                if (o_boxingcontroller.wireframe_boxing == 1)
2614
                    sprite_index = spr_bqueen_punch_wireframe;
2615
                image_index = 2;
2616
            }
2617
            if (attacktimer == (90 / f) && o_boxingcontroller.wireframe_boxing == 0)
2618
            {
2619
                baseball_amount -= 1;
2620
                if (drawflip == 0)
2621
                    baseball = instance_create(x + 5, y - 40, obj_bq_baseball);
2622
                if (drawflip == 1)
2623
                    baseball = instance_create(x - 5, y - 40, obj_bq_baseball);
2624
                if (punch_type == 1)
2625
                    baseball.vspeed = 18 / f;
2626
                if (punch_type == 4 && irandom(10) < 5)
2627
                    baseball.vspeed = 18 / f;
2628
            }
2629
            if (attacktimer > (90 / f) && attacktimer < (194 / f))
2630
            {
2631
                var cam_vspeed = 5 * f;
2632
                if (instance_exists(obj_bq_baseball) && obj_bq_baseball.vspeed > (12 / f))
2633
                    cam_vspeed = 11 * f;
2634
                if (__view_get(e__VW.YView, 0) < 0 && o_boxingcontroller.wireframe_boxing == 0)
2635
                    __view_set(e__VW.YView, 0, __view_get(e__VW.YView, 0) + cam_vspeed);
2636
                if (__view_get(e__VW.YView, 0) > 0 && o_boxingcontroller.wireframe_boxing == 0)
2637
                    __view_set(e__VW.YView, 0, __view_get(e__VW.YView, 0));
2638
            }
2639
            if (attacktimer == (194 / f))
2640
                __view_set(e__VW.YView, 0, __view_get(e__VW.YView, 0));
2641
            if (attacktimer >= (90 / f) && attacktimer < (194 / f) && baseball_amount > 0)
2642
            {
2643
                if (!instance_exists(obj_bq_baseball))
2644
                {
2645
                    baseball_amount -= 1;
2646
                    if (drawflip == 0)
2647
                        baseball = instance_create(x + 5, y - 40, obj_bq_baseball);
2648
                    if (drawflip == 1)
2649
                        baseball = instance_create(x - 5, y + 70, obj_bq_baseball);
2650
                    if (punch_type == 1)
2651
                        baseball.vspeed = 20 / f;
2652
                    if (punch_type == 4 && irandom(10) < 5)
2653
                        baseball.vspeed = 20 / f;
2654
                    if (first_normal_baseball_throw == 1)
2655
                    {
2656
                        baseball.vspeed = 34 / f;
2657
                        if (punch_type == 1)
2658
                            baseball.vspeed = 34 / f;
2659
                        if (punch_type == 4 && irandom(10) < 5)
2660
                            baseball.vspeed = 34 / f;
2661
                    }
2662
                }
2663
            }
2664
            if ((attacktimer > (194 / f) && instance_exists(obj_bq_baseball) && o_boxingcontroller.dead == 0) || (attacktimer > (194 / f) && baseball_amount > 0 && o_boxingcontroller.dead == 0))
2665
                attacktimer = 188 / f;
2666
            if ((attacktimer > (90 / f) && attacktimer < (194 / f) && !instance_exists(obj_bq_baseball) && baseball_amount < 1) || (attacktimer < (194 / f) && o_boxingcontroller.dead == 1 && o_boxingcontroller.wireframe_boxing == 0))
2667
                attacktimer = 194 / f;
2668
            if (o_boxingcontroller.dead == 1)
2669
            {
2670
                with (obj_bq_baseball)
2671
                    x = -9999;
2672
            }
2673
            if (o_boxingcontroller.wireframe_boxing == 1)
2674
            {
2675
                if (attacktimer == (196 / f))
2676
                {
2677
                    sprite_index = spr_bqueen_laugh;
2678
                    if (o_boxingcontroller.wireframe_boxing == 1)
2679
                        sprite_index = spr_bqueen_laugh_wireframe;
2680
                    image_index += 0.2;
2681
                    y = -2;
2682
                    gravity = 5;
2683
                }
2684
                if (attacktimer == (220 / f))
2685
                {
2686
                    invincible_l = 0;
2687
                    invincible_r = 0;
2688
                }
2689
                if (attacktimer >= (196 / f) && vspeed > 0 && y > (basey - 39))
2690
                {
2691
                    invincible_l = 0;
2692
                    invincible_r = 0;
2693
                    y = basey;
2694
                    vspeed = 0;
2695
                    gravity = 0;
2696
                }
2697
                if (attacktimer >= (260 / f))
2698
                {
2699
                    x = basex;
2700
                    attackcon = 4;
2701
                    attacktimer = 0;
2702
                }
2703
            }
2704
            if (o_boxingcontroller.hit_baseball == 0 && o_boxingcontroller.wireframe_boxing == 0)
2705
            {
2706
                if (attacktimer == (196 / f))
2707
                {
2708
                    if (o_boxingcontroller.dead == 0)
2709
                    {
2710
                        if (arcade)
2711
                            snd_play(snd_queen_laugh_0_bc);
2712
                        else
2713
                            snd_play(snd_queen_laugh_0);
2714
                    }
2715
                    sprite_index = spr_bqueen_laugh;
2716
                    if (o_boxingcontroller.wireframe_boxing == 1)
2717
                        sprite_index = spr_bqueen_laugh_wireframe;
2718
                    image_index += 0.2;
2719
                    x = 200;
2720
                    y = -2;
2721
                    gravity = 5;
2722
                }
2723
                if (attacktimer >= (196 / f) && vspeed > 0 && y > (basey - 39))
2724
                {
2725
                    y = basey;
2726
                    vspeed = 0;
2727
                    gravity = 0;
2728
                    o_boxinghud.hide_ui = 2;
2729
                }
2730
                if (attacktimer >= (260 / f))
2731
                    hspeed = 32;
2732
                if (attacktimer >= (260 / f) && x > (basex - 31))
2733
                {
2734
                    x = basex;
2735
                    attackcon = 4;
2736
                    attacktimer = 0;
2737
                }
2738
            }
2739
            if (o_boxingcontroller.hit_baseball > 0 && o_boxingcontroller.wireframe_boxing == 0)
2740
            {
2741
                if (attacktimer == (196 / f))
2742
                {
2743
                    if (arcade)
2744
                        snd_play(snd_queen_laugh_0_bc);
2745
                    else
2746
                        snd_play(snd_queen_laugh_0);
2747
                    sprite_index = spr_bqueen_laugh;
2748
                    if (o_boxingcontroller.wireframe_boxing == 1)
2749
                        sprite_index = spr_bqueen_laugh_wireframe;
2750
                    image_index += 0.2;
2751
                    y = -2;
2752
                    gravity = 5;
2753
                    x = 200;
2754
                    o_boxinghud.hide_ui = 2;
2755
                }
2756
                if (attacktimer >= (196 / f) && vspeed > 0 && y > (basey - 23))
2757
                {
2758
                    y = basey;
2759
                    vspeed = 0;
2760
                    gravity = 0;
2761
                }
2762
                if (attacktimer >= (200 / f) && vspeed == 0 && !instance_exists(obj_bq_baseball_hits_boss))
2763
                    instance_create(-10, -40, obj_bq_baseball_hits_boss);
2764
                if (attacktimer >= (210 / f) && instance_exists(obj_bq_baseball_hits_boss) && obj_bq_baseball_hits_boss.state == 1)
2765
                {
2766
                    if (o_boxingcontroller.boxingtimer < 15)
2767
                        o_boxingcontroller.boxingtimer = 15;
2768
                    baseball_hit_boss_number += 1;
2769
                    hspeed = 32;
2770
                    if (o_boxinghud.sub_healthbar_count == 2)
2771
                        health_count -= 300;
2772
                    if (o_boxinghud.sub_healthbar_count != 2)
2773
                        health_count -= 80;
2774
                    if (health_count < 1)
2775
                        health_count = 1;
2776
                    invincible_l = 0;
2777
                    invincible_r = 0;
2778
                    blocking = -1;
2779
                    makedizzy = 200 / f;
2780
                    first_normal_baseball_throw = 1;
2781
                    o_boxinghud.healthbar_flash = 100;
2782
                    o_boxingqueen.health_count_prev_timer = o_boxingqueen.health_count_prev_timer_set;
2783
                    if (drawflip == 0)
2784
                        o_boxingqueen.drawflip = 1;
2785
                    if (drawflip == 1)
2786
                        o_boxingqueen.drawflip = 0;
2787
                    hitanim = 0;
2788
                    if (arcade)
2789
                    {
2790
                        punchnoise = snd_play(snd_punchmed_bc);
2791
                        snd_play(snd_damage_bc);
2792
                    }
2793
                    else
2794
                    {
2795
                        punchnoise = snd_play(snd_punchmed);
2796
                        snd_play(snd_damage);
2797
                    }
2798
                    if (dizzytimer <= 0)
2799
                    {
2800
                        noattack += 1;
2801
                    }
2802
                    else
2803
                    {
2804
                        if (arcade)
2805
                            snd_play(snd_metalhit_bc);
2806
                        else
2807
                            snd_play(snd_metalhit);
2808
                        audio_sound_pitch(punchnoise, 0.8);
2809
                    }
2810
                    blocking = -1;
2811
                    image_index = 0;
2812
                    sprite_index = spr_bqueen_hurt_effect;
2813
                    if (o_boxingcontroller.wireframe_boxing == 1)
2814
                        sprite_index = spr_bqueen_hurt;
2815
                    enddizzy = 0;
2816
                    if (makedizzy > 0)
2817
                    {
2818
                        dizzytimer = makedizzy;
2819
                        if (o_boxingcontroller.flameactive == 1)
2820
                            dizzytimer = makedizzy * 1.5;
2821
                        makedizzy = 0;
2822
                    }
2823
                    else
2824
                    {
2825
                        dizzytimer -= 20;
2826
                    }
2827
                    if (dizzytimer > 0 && dizzytimer <= 60)
2828
                    {
2829
                        dizzytimer = 0;
2830
                        enddizzy = 1;
2831
                    }
2832
                    if (dizzytimer > 0)
2833
                    {
2834
                        sprite_index = spr_bqueen_dizzy_hurt;
2835
                        if (o_boxingcontroller.wireframe_boxing == 1)
2836
                            sprite_index = spr_bqueen_dizzy_hurt_wireframe;
2837
                    }
2838
                    if (drawflip == 0 || drawflip == -1)
2839
                    {
2840
                        if (dizzytimer >= 60)
2841
                            hitanim = 1;
2842
                        else
2843
                            hitnaim = 2;
2844
                        if (enddizzy == 1)
2845
                            hitanim = 3;
2846
                    }
2847
                    if (drawflip == 1)
2848
                    {
2849
                        if (dizzytimer >= 60)
2850
                            hitanim = -1;
2851
                        else
2852
                            hitanim = -2;
2853
                        if (enddizzy == 1)
2854
                            hitanim = -3;
2855
                    }
2856
                    if (hitanim == 3 || hitanim == -3)
2857
                        scr_move_precise
scr_move_precise

function scr_move_precise(arg0, arg1, arg2) { _moveprecise = instance_create(x, y, obj_move_precise); _moveprecise.target = id; _moveprecise.type = arg0; if (arg1 != 0) _moveprecise.xOrientation = arg1; if (arg2 != 0) _moveprecise.yOrientation = arg2; with (_moveprecise) event_user(0); return _moveprecise; }
(2, (2 * hitanim) / 3, 2);
2858
                    if (hitanim == 1 || hitanim == -1)
2859
                        scr_move_precise
scr_move_precise

function scr_move_precise(arg0, arg1, arg2) { _moveprecise = instance_create(x, y, obj_move_precise); _moveprecise.target = id; _moveprecise.type = arg0; if (arg1 != 0) _moveprecise.xOrientation = arg1; if (arg2 != 0) _moveprecise.yOrientation = arg2; with (_moveprecise) event_user(0); return _moveprecise; }
(1, (2 * hitanim) / 1, 2);
2860
                    if (hitanim == 2 || hitanim == -2)
2861
                        scr_move_precise
scr_move_precise

function scr_move_precise(arg0, arg1, arg2) { _moveprecise = instance_create(x, y, obj_move_precise); _moveprecise.target = id; _moveprecise.type = arg0; if (arg1 != 0) _moveprecise.xOrientation = arg1; if (arg2 != 0) _moveprecise.yOrientation = arg2; with (_moveprecise) event_user(0); return _moveprecise; }
(0, (2 * hitanim) / 2, 2);
2862
                    if (hitanim == 0)
2863
                        scr_move_precise
scr_move_precise

function scr_move_precise(arg0, arg1, arg2) { _moveprecise = instance_create(x, y, obj_move_precise); _moveprecise.target = id; _moveprecise.type = arg0; if (arg1 != 0) _moveprecise.xOrientation = arg1; if (arg2 != 0) _moveprecise.yOrientation = arg2; with (_moveprecise) event_user(0); return _moveprecise; }
(1, 2, 2);
2864
                    hurttimer = 0;
2865
                    state = 1;
2866
                    friction = 0;
2867
                }
2868
            }
2869
        }
2870
        if (attackcon == 4)
2871
        {
2872
            attack_succeeded = 1;
2873
            makedizzy = 200 / f;
2874
            vspeed = 0;
2875
            hspeed = 0;
2876
            image_speed = 0;
2877
            image_index = 0;
2878
            sprite_index = spr_bqueen_leggy;
2879
            if (o_boxingcontroller.wireframe_boxing == 1)
2880
                sprite_index = spr_bqueen_leggy_wireframe;
2881
            x = basex;
2882
            invincible_l = 0;
2883
            invincible_r = 0;
2884
            blocking = -1;
2885
            attacktimer = 0;
2886
            attackcon = 5;
2887
        }
2888
        if (attackcon == 5)
2889
        {
2890
            attacktimer += 1;
2891
            if (attacktimer >= ((45 / f) - ((attack_succeeded * 45) / f)))
2892
            {
2893
                speed = 0;
2894
                friction = 0;
2895
                image_index = 0;
2896
                image_speed = 0;
2897
                attackcon = 0;
2898
                attack_succeeded = 0;
2899
                event_user(1);
2900
            }
2901
        }
2902
    }
2903
    if (attacktype == 9)
2904
    {
2905
        if (attackcon == 0)
2906
        {
2907
            baseball_amount = 1;
2908
            attacktimer = 0;
2909
            blocking = -1;
2910
            invincible_l = 1;
2911
            invincible_r = 1;
2912
            o_boxingcontroller.hit_baseball = 0;
2913
            baseball_hit_boss_number = 0;
2914
            baseball_timer = -24;
2915
            sprite_index = spr_bqueen_final_charge;
2916
            y = basey;
2917
            vspeed = -26 * f;
2918
            friction = 2.2;
2919
            __view_set(e__VW.YView, 0, __view_get(e__VW.YView, 0) + vspeed + 3);
2920
            drawflip = 0;
2921
            o_boxinghud.hide_ui = 1;
2922
            attackcon = 1;
2923
        }
2924
        if (attackcon == 1)
2925
        {
2926
            attacktimer += 1;
2927
            if (attacktimer < (46 / f))
2928
            {
2929
                var cam_speed = vspeed - 1;
2930
                if (cam_speed > 0)
2931
                    cam_speed = 0;
2932
                __view_set(e__VW.YView, 0, __view_get(e__VW.YView, 0) + cam_speed);
2933
            }
2934
            if (attacktimer > (46 / f))
2935
            {
2936
                attackcon = 3;
2937
                attacktimer = 0;
2938
            }
2939
        }
2940
        if (attackcon == 3)
2941
        {
2942
            attacktimer += 1;
2943
            if (attacktimer == (2 / f))
2944
            {
2945
                if (o_boxingcontroller.wireframe_boxing == 0)
2946
                {
2947
                    if (arcade)
2948
                        snd_play(snd_cardrive_bc);
2949
                    else
2950
                        snd_play(snd_cardrive);
2951
                    snd_pitch(snd_cardrive, 1);
2952
                }
2953
                specialcon = 2;
2954
                attacktimer = 50 / f;
2955
            }
2956
            if (attacktimer == (52 / f))
2957
            {
2958
                instance_create(x + 5, y - 320, obj_bq_baseball_final);
2959
                charge = instance_create(x + 5, y - 320, o_charge_ring_controller);
2960
                charge.alarm[0] = 50;
2961
            }
2962
            if (attacktimer == (56 / f) && instance_exists(obj_bq_baseball_final) && obj_bq_baseball_final.image_xscale < 6)
2963
                attacktimer -= 1;
2964
            if (attacktimer == (56 / f))
2965
            {
2966
                sprite_index = spr_bqueen_final_charge_flash;
2967
                event_user(5);
2968
                sprite_index = spr_bqueen_final_charge;
2969
            }
2970
            if (attacktimer >= (82 / f) && attacktimer < (86 / f))
2971
            {
2972
                sprite_index = spr_bqueen_punch;
2973
                image_index = 1;
2974
            }
2975
            if (attacktimer == (86 / f))
2976
            {
2977
                sprite_index = spr_bqueen_punch;
2978
                image_index = 2;
2979
            }
2980
            if (attacktimer == (90 / f))
2981
            {
2982
                obj_bq_baseball_final.vspeed = 8 / f;
2983
                obj_bq_baseball_final.hit = 0;
2984
                snd_play(snd_fall_cool_deep);
2985
                snd_loop(snd_quake_nes);
2986
                snd_volume(snd_quake_nes, 0.4, 120);
2987
            }
2988
            if ((attacktimer > (90 / f) && attacktimer < (196 / f)) || (attacktimer > (160 / f) && instance_exists(obj_bq_baseball_final) && obj_bq_baseball_final.vspeed >= 0))
2989
            {
2990
                if (__view_get(e__VW.YView, 0) < 0)
2991
                    __view_set(e__VW.YView, 0, __view_get(e__VW.YView, 0) + (6 * f));
2992
                if (__view_get(e__VW.YView, 0) > 0)
2993
                    __view_set(e__VW.YView, 0, 0);
2994
            }
2995
            if (attacktimer > (190 / f) && instance_exists(obj_bq_baseball_final) && obj_bq_baseball_final.vspeed > 0)
2996
                attacktimer = 188 / f;
2997
            if (o_boxingcontroller.hit_baseball == 0)
2998
            {
2999
                if (attacktimer >= (196 / f))
3000
                {
3001
                    sprite_index = spr_bqueen_laugh;
3002
                    image_index += 0.2;
3003
                    o_boxinghud.hide_ui = 2;
3004
                }
3005
                if (attacktimer >= (290 / f))
3006
                {
3007
                    x = basex;
3008
                    attackcon = 4;
3009
                    attacktimer = 0;
3010
                }
3011
            }
3012
            if (o_boxingcontroller.hit_baseball > 0)
3013
            {
3014
                global.turntimer = 100;
3015
                o_boxingcontroller.boxingtimer = 10;
3016
                o_boxingcontroller.cancontrol = 0;
3017
                o_boxinghud.hide_ui_quick = 1;
3018
                if (attacktimer >= (196 / f) && instance_exists(obj_bq_baseball_final) && obj_bq_baseball_final.vspeed < 0)
3019
                {
3020
                    sprite_index = spr_bqueen;
3021
                    image_index = 26;
3022
                    if (__view_get(e__VW.YView, 0) > -750)
3023
                        __view_set(e__VW.YView, 0, __view_get(e__VW.YView, 0) - (12 * f));
3024
                    if (__view_get(e__VW.YView, 0) < -750)
3025
                        __view_set(e__VW.YView, 0, -750);
3026
                }
3027
                if (attacktimer == (600 / f) && !instance_exists(obj_bq_baseball_final_hits_boss))
3028
                {
3029
                    x = basex;
3030
                    obj_battlecontroller.gigaqueencon = 6;
3031
                    with (obj_boxingqueen_aura)
3032
                        instance_destroy();
3033
                    sprite_index = spr_bqueen;
3034
                    image_index = 26;
3035
                    final_sequence_red_state = 1;
3036
                }
3037
                if (attacktimer > (600 / f) && attacktimer < (740 / f))
3038
                {
3039
                    x = (basex - 3) + random(6);
3040
                    y = (basey - 3) + random(6);
3041
                }
3042
                var aa = 120;
3043
                if (attacktimer > (600 / f) && attacktimer < (740 / f))
3044
                {
3045
                    crescent_explosion_timer++;
3046
                    if (crescent_explosion_timer == 3 || crescent_explosion_timer == 6)
3047
                    {
3048
                        fx = instance_create((x - 50) + random(100), y - 50 - random(150), obj_boxing_crescent);
3049
                        fx.depth = depth - 1;
3050
                        fx = instance_create((x - 50) + random(100), y - 50 - random(150), obj_boxing_smoke);
3051
                        fx.depth = depth - 1;
3052
                        if (crescent_explosion_timer == 3)
3053
                        {
3054
                            if (arcade)
3055
                            {
3056
                                if (audio_is_playing(snd_explosion_firework_bc))
3057
                                    audio_stop_sound(snd_explosion_firework_bc);
3058
                                snd_pitch(snd_play(snd_explosion_firework_bc), 0.7 + random(0.6));
3059
                            }
3060
                            else
3061
                            {
3062
                                if (audio_is_playing(snd_explosion_firework))
3063
                                    audio_stop_sound(snd_explosion_firework);
3064
                                snd_pitch(snd_play(snd_explosion_firework), 0.7 + random(0.6));
3065
                            }
3066
                        }
3067
                        if (crescent_explosion_timer == 6)
3068
                            crescent_explosion_timer = 0;
3069
                    }
3070
                }
3071
                if (attacktimer == (740 / f))
3072
                {
3073
                    if (arcade)
3074
                        audio_stop_sound(snd_explosion_firework_bc);
3075
                    else
3076
                        audio_stop_sound(snd_explosion_firework);
3077
                    with (obj_boxing_crescent)
3078
                        instance_destroy();
3079
                    with (obj_boxing_smoke)
3080
                        instance_destroy();
3081
                }
3082
                if (attacktimer > (600 / f) && attacktimer <= (700 / f))
3083
                {
3084
                    if (final_sequence_red_state == 1)
3085
                        final_sequence_red_alpha += 0.01;
3086
                }
3087
                if (attacktimer == (702 / f) && !i_ex(obj_writer))
3088
                {
3089
                    scr_speaker
scr_speaker

function scr_speaker(arg0) { _speaker = arg0; global.typer = 5; if (global.darkzone == 1) global.typer = 6; if (global.fighting == 1) global.typer = 4; global.fc = 0; global.fe = 0; if (_speaker == "silent" && global.darkzone == 0) global.typer = 2; if (_speaker == "silent" && global.darkzone == 1) global.typer = 36; if (_speaker == "balloon" || _speaker == "enemy") global.typer = 50; if (_speaker == "sans") { global.typer = 14; global.fc = 6; } if (_speaker == "undyne" || _speaker == "und") { global.typer = 17; global.fc = 9; } if (_speaker == "temmie" || _speaker == "tem") global.typer = 21; if (_speaker == "jevil") global.typer = 35; if (_speaker == "catti") global.fc = 13; if (_speaker == "jockington" || _speaker == "joc") global.fc = 14; if (_speaker == "catty" || _speaker == "caddy") global.fc = 16; if (_speaker == "bratty" || _speaker == "bra") global.fc = 17; if (_speaker == "rouxls" || _speaker == "rou") global.fc = 18; if (_speaker == "burgerpants" || _speaker == "bur") global.fc = 19; if (_speaker == "spamton") { if (global.fighting == 0) global.typer = 66; else global.typer = 68; } if (_speaker == "sneo") global.typer = 67; if (_speaker == "susie" || _speaker == "sus") { global.fc = 1; global.typer = 10; if (global.darkzone == 1) { global.typer = 30; if (global.fighting == 1) global.typer = 47; } } if (_speaker == "ralsei" || _speaker == "ral") { global.fc = 2; global.typer = 31; if (global.fighting == 1) global.typer = 45; if (global.flag[30 ralsei_hat_state] == 1) global.typer = 6; } if (_speaker == "noelle" || _speaker == "noe") { global.fc = 3; if (global.darkzone == 0) global.typer = 12; else global.typer = 56; if (global.fighting == 1) global.typer = 59; } if (_speaker == "toriel" || _speaker == "tor") { global.fc = 4; global.typer = 7; } if (_speaker == "asgore" || _speaker == "asg") { global.fc = 10; global.typer = 18; } if (_speaker == "king" || _speaker == "kin") { global.fc = 20; global.typer = 33; if (global.chapter == 1) { if (global.plot < 235) global.typer = 36; } if (global.fighting == 1) ...
("queen");
3090
                    if (text_state == 0)
3091
                        msgsetloc(0, 
* Battle Power... Dropping...Wait for inputClose Message
"* Battle Power... Dropping.../%", "o_boxingqueen_slash_Step_0_gml_3078_0"
);
3092
                    if (text_state == 1 && !i_ex(obj_writer))
3093
                        msgsetloc(0, 
* Overheat... ActivatedWait for inputClose Message
"* Overheat... Activated/%", "o_boxingqueen_slash_Step_0_gml_3082_0"
);
3094
                    if (text_state == 2 && !i_ex(obj_writer))
3095
                        msgsetloc(0, 
* Listen WellWait for inputClose Message
"* Listen Well/%", "o_boxingqueen_slash_Step_0_gml_3086_0"
);
3096
                    if (text_state == 3 && !i_ex(obj_writer))
3097
                        msgsetloc(0, 
* You May Have Defeated MeWait for inputClose Message
"* You May Have Defeated Me/%", "o_boxingqueen_slash_Step_0_gml_3090_0"
);
3098
                    if (text_state == 4 && !i_ex(obj_writer))
3099
                        msgsetloc(0, 
* But I Still Possess One ThingWait for inputClose Message
"* But I Still Possess One Thing/%", "o_boxingqueen_slash_Step_0_gml_3094_0"
);
3100
                    if (text_state == 5 && !i_ex(obj_writer))
3101
                        msgsetloc(0, 
* You Three Will Never HaveWait for inputClose Message
"* You Three Will Never Have/%", "o_boxingqueen_slash_Step_0_gml_3098_0"
);
3102
                    if (text_state < 6)
3103
                    {
3104
                        __view_set(e__VW.XView, 0, __view_get(e__VW.XView, 0) + 28);
3105
                        instance_create(camerax() + 30, cameray() + 376, obj_writer);
3106
                        __view_set(e__VW.XView, 0, __view_get(e__VW.XView, 0) - 28);
3107
                        with (obj_writer)
3108
                        {
3109
                            shake = 1;
3110
                            rate = 2;
3111
                            writingy = y - 320;
3112
                        }
3113
                    }
3114
                    text_state++;
3115
                }
3116
                if ((attacktimer > (704 / f) && attacktimer < (708 / f) && text_state >= 0 && text_state < 7) || (i_ex(obj_writer) && text_state >= 0 && text_state < 7))
3117
                    attacktimer = 700 / f;
3118
                if (attacktimer == ((710 + aa) / f))
3119
                {
3120
                    vspeed = -26 * f;
3121
                    friction = 2.2;
3122
                    sprite_index = spr_queen_rocket_punch_pose;
3123
                    if (arcade)
3124
                        snd_play(snd_rocket_bc);
3125
                    else
3126
                        snd_play(snd_rocket);
3127
                    instance_create(x - 8, y - 132, obj_boxingqueen_rocket_punch_idle);
3128
                }
3129
                if (attacktimer > ((710 + aa) / f) && attacktimer < ((758 + aa) / f))
3130
                {
3131
                    var cam_speed = vspeed - 1;
3132
                    if (cam_speed > 0)
3133
                        cam_speed = 0;
3134
                    __view_set(e__VW.YView, 0, __view_get(e__VW.YView, 0) + cam_speed);
3135
                }
3136
                if (attacktimer == ((766 + aa) / f))
3137
                {
3138
                    basex = x;
3139
                    basey = y;
3140
                    sprite_index = spr_queen_rocket_punch_pose;
3141
                    image_index = 0;
3142
                    msgsetloc(0, 
* Detachable HandsWait for inputClose Message
"* Detachable Hands/%", "o_boxingqueen_slash_Step_0_gml_3148_0"
);
3143
                    global.typer = 70;
3144
                    global.fc = 4;
3145
                    __view_set(e__VW.XView, 0, __view_get(e__VW.XView, 0) + 130);
3146
                    scr_battletext_default
scr_battletext_default

function scr_battletext_default() { global.fc = 0; global.typer = 4; scr_battletext(); return battlewriter; }
();
3147
                    __view_set(e__VW.XView, 0, __view_get(e__VW.XView, 0) - 130);
3148
                    with (obj_writer)
3149
                        writingy = y - 320;
3150
                }
3151
                if (attacktimer > ((768 + aa) / f) && attacktimer < ((772 + aa) / f) && i_ex(obj_writer))
3152
                    attacktimer = (768 + aa) / f;
3153
                if (attacktimer == ((772 + aa) / f))
3154
                {
3155
                    scr_speaker
scr_speaker

function scr_speaker(arg0) { _speaker = arg0; global.typer = 5; if (global.darkzone == 1) global.typer = 6; if (global.fighting == 1) global.typer = 4; global.fc = 0; global.fe = 0; if (_speaker == "silent" && global.darkzone == 0) global.typer = 2; if (_speaker == "silent" && global.darkzone == 1) global.typer = 36; if (_speaker == "balloon" || _speaker == "enemy") global.typer = 50; if (_speaker == "sans") { global.typer = 14; global.fc = 6; } if (_speaker == "undyne" || _speaker == "und") { global.typer = 17; global.fc = 9; } if (_speaker == "temmie" || _speaker == "tem") global.typer = 21; if (_speaker == "jevil") global.typer = 35; if (_speaker == "catti") global.fc = 13; if (_speaker == "jockington" || _speaker == "joc") global.fc = 14; if (_speaker == "catty" || _speaker == "caddy") global.fc = 16; if (_speaker == "bratty" || _speaker == "bra") global.fc = 17; if (_speaker == "rouxls" || _speaker == "rou") global.fc = 18; if (_speaker == "burgerpants" || _speaker == "bur") global.fc = 19; if (_speaker == "spamton") { if (global.fighting == 0) global.typer = 66; else global.typer = 68; } if (_speaker == "sneo") global.typer = 67; if (_speaker == "susie" || _speaker == "sus") { global.fc = 1; global.typer = 10; if (global.darkzone == 1) { global.typer = 30; if (global.fighting == 1) global.typer = 47; } } if (_speaker == "ralsei" || _speaker == "ral") { global.fc = 2; global.typer = 31; if (global.fighting == 1) global.typer = 45; if (global.flag[30 ralsei_hat_state] == 1) global.typer = 6; } if (_speaker == "noelle" || _speaker == "noe") { global.fc = 3; if (global.darkzone == 0) global.typer = 12; else global.typer = 56; if (global.fighting == 1) global.typer = 59; } if (_speaker == "toriel" || _speaker == "tor") { global.fc = 4; global.typer = 7; } if (_speaker == "asgore" || _speaker == "asg") { global.fc = 10; global.typer = 18; } if (_speaker == "king" || _speaker == "kin") { global.fc = 20; global.typer = 33; if (global.chapter == 1) { if (global.plot < 235) global.typer = 36; } if (global.fighting == 1) ...
("no_name");
3156
                    global.typer = 4;
3157
                    global.fc = 0;
3158
                    global.fe = 0;
3159
                    if (arcade)
3160
                    {
3161
                        if (audio_is_playing(snd_explosion_firework_bc))
3162
                            audio_stop_sound(snd_explosion_firework_bc);
3163
                    }
3164
                    else if (audio_is_playing(snd_explosion_firework))
3165
                    {
3166
                        audio_stop_sound(snd_explosion_firework);
3167
                    }
3168
                    if (i_ex(o_boxingqueen))
3169
                        o_boxingqueen.visible = 0;
3170
                    if (i_ex(o_boxingcontroller))
3171
                        o_boxingcontroller.visible = 0;
3172
                    if (i_ex(obj_3d_bg_effect))
3173
                        obj_3d_bg_effect.visible = 0;
3174
                    if (i_ex(obj_bg_square))
3175
                        obj_bg_square.visible = 0;
3176
                    with (obj_boxingqueen_rocket_punch_idle)
3177
                        instance_destroy();
3178
                    instance_create(o_boxingqueen.x, o_boxingqueen.y, obj_rocketpunch_queen);
3179
                }
3180
            }
3181
        }
3182
        if (attackcon == 4)
3183
        {
3184
            makedizzy = 200 / f;
3185
            vspeed = 0;
3186
            hspeed = 0;
3187
            image_speed = 0;
3188
            image_index = 0;
3189
            sprite_index = spr_bqueen_leggy;
3190
            x = basex;
3191
            invincible_l = 0;
3192
            invincible_r = 0;
3193
            blocking = -1;
3194
            attacktimer = 0;
3195
            attackcon = 5;
3196
        }
3197
        if (attackcon == 5)
3198
        {
3199
            attacktimer += 1;
3200
            attack_succeeded = 1;
3201
            if (attacktimer >= ((45 / f) - ((attack_succeeded * 45) / f)))
3202
            {
3203
                speed = 0;
3204
                image_index = 0;
3205
                image_speed = 0;
3206
                attackcon = 0;
3207
                attack_succeeded = 0;
3208
                event_user(1);
3209
            }
3210
        }
3211
    }
3212
}
3213
if (state == 4)
3214
{
3215
    if (hspeed > 0 && x > basex)
3216
    {
3217
        hspeed = 0;
3218
        x = basex;
3219
    }
3220
    dizzytimer -= 1;
3221
    image_speed = 0;
3222
    image_index += 0.1;
3223
    if (image_index >= 2)
3224
    {
3225
        image_index = 0;
3226
        drawflip *= -1;
3227
    }
3228
    if (dizzytimer <= 0)
3229
        event_user(1);
3230
}
3231
dizzytimer -= 1;
3232
3233
enum e__VW
3234
{
3235
    XView,
3236
    YView,
3237
    WView,
3238
    HView,
3239
    Angle,
3240
    HBorder,
3241
    VBorder,
3242
    HSpeed,
3243
    VSpeed,
3244
    Object,
3245
    Visible,
3246
    XPort,
3247
    YPort,
3248
    WPort,
3249
    HPort,
3250
    Camera,
3251
    SurfaceID
3252
}