Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_o_boxingqueen_Other_12

(view raw script w/o annotations or w/e)
1
delayattack = 0;
2
delayattacktelegraph = 0;
3
combo = 0;
4
noattack = 0;
5
attackcon = 0;
6
attacktimer = 0;
7
blocking = 0;
8
state = 3;
9
speed = 0;
10
x = basex;
11
times_hit_in_a_row = 0;
12
debug_text = "in event user 2";
13
if (useattacklist == 0)
14
{
15
    attacktype = choose(0, 1, 2, 4, 5);
16
    pirouette_amount = 3;
17
    splash_amount = choose(1, 2);
18
    if (attacktype == 1)
19
        kick_amount = choose(1, 2, 3);
20
}
21
else
22
{
23
    if (o_boxingcontroller.wireframe_boxing == 1 && (attackcount >= attackcountmax || (o_boxingqueen.health_count <= (health_count_max * 0.75) && attackpattern == 50) || (o_boxingqueen.health_count <= (health_count_max * 0.5) && attackpattern == 51) || (o_boxingqueen.health_count <= (health_count_max * 0.25) && attackpattern == 52)))
24
        event_user(6);
25
    if (attackpattern != 53)
26
        arcadebaseballused = 0;
27
    if (attackpattern == 53)
28
    {
29
        attacktype = 8;
30
        pirouette_amount = 0;
31
        splash_amount = 0;
32
        kick_amount = 0;
33
        punch_amount = 0;
34
        wheel_amount = 0;
35
        wheel_type = 0;
36
        punch_type = 0;
37
        attackthreshold = 0;
38
        if (arcadebaseballused > 0)
39
        {
40
            if (finalphasearcadecon == 0)
41
            {
42
                attacktype = 1;
43
                punch_type = 2;
44
            }
45
            if (finalphasearcadecon == 1)
46
            {
47
                attacktype = 0;
48
                punch_type = 4;
49
            }
50
            if (finalphasearcadecon == 2)
51
                attacktype = 8;
52
            if (finalphasearcadecon == 3)
53
            {
54
                attacktype = 1;
55
                punch_type = 2;
56
            }
57
            if (finalphasearcadecon == 4)
58
            {
59
                attacktype = 0;
60
                punch_type = 4;
61
            }
62
            finalphasearcadecon++;
63
            if (finalphasearcadecon > 4)
64
                finalphasearcadecon = 0;
65
        }
66
    }
67
    else if (attackcount >= attackcountmax)
68
    {
69
        event_user(1);
70
        attackthreshold = attackthresholddefault;
71
        movetimer = 0;
72
        with (o_boxingcontroller)
73
            boxingtimer = 0;
74
        if (o_boxingcontroller.wireframe_boxing == 0)
75
        {
76
            if (attackpattern == 1.4 && pattern_state == 1)
77
                attackorderlooping = 1;
78
            if (attackpattern == 4 && pattern_state == 2 && o_boxinghud.sub_healthbar_count == 1)
79
                attackorderlooping = 1;
80
            if ((o_boxinghud.sub_healthbar_count == 0 && o_boxingcontroller.beat_phase2_no_damage_taken == 0 && attackpattern == 7 && pattern_state == 1) || (o_boxinghud.sub_healthbar_count == 0 && o_boxingcontroller.beat_phase2_no_damage_taken == 0 && attackpattern == 12 && pattern_state == 1))
81
                attackorderlooping = 1;
82
            if (o_boxinghud.sub_healthbar_count == 0 && o_boxingcontroller.beat_phase2_no_damage_taken == 1 && attackpattern == 20 && pattern_state == 4)
83
                attackorderlooping = 1;
84
            if ((attackorderloopingturn >= 3 && o_boxinghud.sub_healthbar_count == 2) || (attackorderloopingturn >= 3 && attackorderlooping == 1 && o_boxinghud.sub_healthbar_count == 1))
85
            {
86
                attackorderloopingturn = 0;
87
                o_boxinghud.sub_healthbar_count -= 1;
88
                if (o_boxinghud.sub_healthbar_count == 0)
89
                    health_count_max = 1800;
90
                health_count = health_count_max;
91
                health_count_prev = health_count_max;
92
                combo = 0;
93
                times_hit_in_a_row = 0;
94
                pattern_state = 0;
95
                if (o_boxingcontroller.beat_phase1_no_damage_taken_check == 0)
96
                    global.flag[527 encount_first_viro] = 1;
97
                if (o_boxinghud.sub_healthbar_count == 1)
98
                {
99
                    with (o_boxingqueen)
100
                    {
101
                        scr_qb_reset
scr_qb_reset

function scr_qb_reset() { attackcount = 0; attackcountmax = 0; attackpattern = 0; for (i = 0; i < 20; i++) { list_attacktype[i] = 0; list_attackamount[i] = 0; list_attackvariant[i] = 0; list_attackwait[i] = 0; } }
();
102
                        attackpattern = 2;
103
                    }
104
                    obj_gigaqueen_enemy.recentphasetransition = 2;
105
                }
106
                if (o_boxinghud.sub_healthbar_count == 0 && o_boxingcontroller.beat_phase2_no_damage_taken == 0)
107
                {
108
                    with (o_boxingqueen)
109
                    {
110
                        scr_qb_reset
scr_qb_reset

function scr_qb_reset() { attackcount = 0; attackcountmax = 0; attackpattern = 0; for (i = 0; i < 20; i++) { list_attacktype[i] = 0; list_attackamount[i] = 0; list_attackvariant[i] = 0; list_attackwait[i] = 0; } }
();
111
                        attackpattern = 15;
112
                    }
113
                    obj_gigaqueen_enemy.recentphasetransition = 3;
114
                }
115
                if (o_boxinghud.sub_healthbar_count == 0 && o_boxingcontroller.beat_phase2_no_damage_taken == 1)
116
                {
117
                    with (o_boxingqueen)
118
                    {
119
                        scr_qb_reset
scr_qb_reset

function scr_qb_reset() { attackcount = 0; attackcountmax = 0; attackpattern = 0; for (i = 0; i < 20; i++) { list_attacktype[i] = 0; list_attackamount[i] = 0; list_attackvariant[i] = 0; list_attackwait[i] = 0; } }
();
120
                        attackpattern = 21;
121
                    }
122
                    o_boxingcontroller.phase3_hit_check = 1;
123
                    obj_gigaqueen_enemy.recentphasetransition = 3;
124
                }
125
            }
126
            else if (attackorderloopingturn >= 3 && attackorderlooping == 1 && o_boxinghud.sub_healthbar_count == 0)
127
            {
128
                health_count = 1;
129
                health_count_prev = 1;
130
            }
131
        }
132
    }
133
    else
134
    {
135
        attacktype = list_attacktype[attackcount];
136
        pirouette_amount = list_attackamount[attackcount];
137
        splash_amount = list_attackamount[attackcount];
138
        kick_amount = list_attackamount[attackcount];
139
        punch_amount = list_attackamount[attackcount];
140
        wheel_amount = list_attackamount[attackcount];
141
        wheel_type = list_attackvariant[attackcount];
142
        punch_type = list_attackvariant[attackcount];
143
        attackthreshold = list_attackwait[attackcount];
144
        if (attacktype != 0)
145
            firstquickpunch = 1;
146
    }
147
    attackcount++;
148
}