Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_knight_rotating_slash_Step_0

(view raw script w/o annotations or w/e)
1
obj_knight_enemy.siner2 = 0;
2
anchor_x = obj_knight_enemy.x;
3
anchor_y = obj_knight_enemy.y;
4
local_turntimer--;
5
if (local_turntimer < 240 && next_up == 1)
6
{
7
    var knight_stream = instance_create(obj_knight_enemy.x, obj_knight_enemy.y, obj_roaringknight_quickslash_attack);
8
    
scr_bullet_inherit
scr_bullet_inherit

function
scr_bullet_inherit(arg0)
{ if (i_ex(arg0)) { if (damage != -1) arg0.damage = damage; if (grazepoints != -1) arg0.grazepoints = grazepoints; if (timepoints != -1) arg0.timepoints = timepoints; if (inv != -1) arg0.inv = inv; if (target != -1) arg0.target = target; if (grazed != -1) arg0.grazed = 0; if (grazetimer != -1) arg0.grazetimer = 0; if (object_index == obj_dbulletcontroller) { arg0.creatorid = creatorid; arg0.creator = creator; } arg0.element = element; } }
(knight_stream);
9
    knight_stream.creatorid = creatorid;
10
    knight_stream.creator = creator;
11
    with (knight_stream)
12
    {
13
        with (instance_create_depth(x, y, depth, obj_knight_warp))
14
        {
15
            other.x += 50;
16
            other.y -= 44;
17
            master = other.id;
18
            event_user(0);
19
        }
20
        turn_type = "end";
21
        if (other.turn_segment == 0)
22
        {
23
            turn_type = "short mid";
24
            turn_segment = 1;
25
            next_up = other.next_next_up;
26
        }
27
        if (other.turn_segment == 1)
28
        {
29
            turn_type = "short end";
30
            turn_segment = 2;
31
        }
32
        anchor_x = other.anchor_x;
33
        anchor_y = other.anchor_y;
34
        event_user(0);
35
        timer = spawn_speed;
36
    }
37
    next_up = -999;
38
}
39
if (local_turntimer < 220 && next_up == 3)
40
{
41
    var knight_stream = instance_create(obj_knight_enemy.x, obj_knight_enemy.y, obj_knight_tunnel_slasher_2_revised);
42
    
scr_bullet_inherit
scr_bullet_inherit

function
scr_bullet_inherit(arg0)
{ if (i_ex(arg0)) { if (damage != -1) arg0.damage = damage; if (grazepoints != -1) arg0.grazepoints = grazepoints; if (timepoints != -1) arg0.timepoints = timepoints; if (inv != -1) arg0.inv = inv; if (target != -1) arg0.target = target; if (grazed != -1) arg0.grazed = 0; if (grazetimer != -1) arg0.grazetimer = 0; if (object_index == obj_dbulletcontroller) { arg0.creatorid = creatorid; arg0.creator = creator; } arg0.element = element; } }
(knight_stream);
43
    knight_stream.creatorid = creatorid;
44
    knight_stream.creator = creator;
45
    with (knight_stream)
46
    {
47
        with (instance_create_depth(x, y, depth, obj_knight_warp))
48
        {
49
            other.x += 25;
50
            other.y -= 44;
51
            master = other.id;
52
            event_user(0);
53
        }
54
        turn_type = "end";
55
        if (other.turn_segment == 0)
56
        {
57
            turn_type = "short mid";
58
            turn_segment = 1;
59
            next_up = other.next_next_up;
60
            timer = -8;
61
        }
62
        if (other.turn_segment == 1)
63
        {
64
            turn_type = "short mid";
65
            turn_segment = 2;
66
        }
67
        anchor_x = other.anchor_x;
68
        anchor_y = other.anchor_y;
69
        event_user(0);
70
        if (turn_type == "short mid" || turn_type == "short end")
71
        {
72
            timer = -12;
73
            local_turntimer += 12;
74
        }
75
    }
76
    next_up = -999;
77
}
78
if (local_turntimer < turn_limit_4 && next_up == 4)
79
{
80
    var knight_stream = instance_create(obj_knight_enemy.x, obj_knight_enemy.y, obj_knight_swordfall);
81
    
scr_bullet_inherit
scr_bullet_inherit

function
scr_bullet_inherit(arg0)
{ if (i_ex(arg0)) { if (damage != -1) arg0.damage = damage; if (grazepoints != -1) arg0.grazepoints = grazepoints; if (timepoints != -1) arg0.timepoints = timepoints; if (inv != -1) arg0.inv = inv; if (target != -1) arg0.target = target; if (grazed != -1) arg0.grazed = 0; if (grazetimer != -1) arg0.grazetimer = 0; if (object_index == obj_dbulletcontroller) { arg0.creatorid = creatorid; arg0.creator = creator; } arg0.element = element; } }
(knight_stream);
82
    knight_stream.creatorid = creatorid;
83
    knight_stream.creator = creator;
84
    with (knight_stream)
85
    {
86
        with (instance_create_depth(x, y, depth, obj_knight_warp))
87
        {
88
            other.x -= 60;
89
            other.y -= 44;
90
            master = other.id;
91
            event_user(0);
92
        }
93
        turn_type = "end";
94
        if (other.turn_segment == 0)
95
        {
96
            turn_type = "short mid";
97
            turn_segment = 1;
98
            next_up = other.next_next_up;
99
        }
100
        if (other.turn_segment == 1)
101
        {
102
            turn_type = "short end";
103
            turn_segment = 2;
104
        }
105
        anchor_x = other.anchor_x;
106
        anchor_y = other.anchor_y;
107
        event_user(0);
108
    }
109
    next_up = -999;
110
}
111
if (local_turntimer < turn_limit_4 && next_up == 5)
112
{
113
    var knight_stream = instance_create(obj_knight_enemy.x, obj_knight_enemy.y, obj_knight_weird_bottom_manager);
114
    
scr_bullet_inherit
scr_bullet_inherit

function
scr_bullet_inherit(arg0)
{ if (i_ex(arg0)) { if (damage != -1) arg0.damage = damage; if (grazepoints != -1) arg0.grazepoints = grazepoints; if (timepoints != -1) arg0.timepoints = timepoints; if (inv != -1) arg0.inv = inv; if (target != -1) arg0.target = target; if (grazed != -1) arg0.grazed = 0; if (grazetimer != -1) arg0.grazetimer = 0; if (object_index == obj_dbulletcontroller) { arg0.creatorid = creatorid; arg0.creator = creator; } arg0.element = element; } }
(knight_stream);
115
    knight_stream.creatorid = creatorid;
116
    knight_stream.creator = creator;
117
    with (knight_stream)
118
    {
119
        turn_type = "end";
120
        if (other.turn_segment == 0)
121
        {
122
            turn_type = "short mid";
123
            turn_segment = 1;
124
            next_up = other.next_next_up;
125
        }
126
        if (other.turn_segment == 1)
127
        {
128
            turn_type = "short end";
129
            turn_segment = 2;
130
        }
131
        anchor_x = other.anchor_x;
132
        anchor_y = other.anchor_y;
133
        event_user(0);
134
        init_start = 4;
135
        init = 8;
136
    }
137
    next_up = -999;
138
}
139
if ((global.time % 4) == 0 && image_alpha != 0)
140
{
141
    fade = 
scr_afterimage
scr_afterimage

function
scr_afterimage()
{ afterimage = instance_create(x, y, obj_afterimage); afterimage.sprite_index = sprite_index; afterimage.image_index = image_index; afterimage.image_blend = image_blend; afterimage.image_speed = 0; afterimage.depth = depth; afterimage.image_xscale = image_xscale; afterimage.image_yscale = image_yscale; afterimage.image_angle = image_angle; return afterimage; }
();
142
    fade.depth = creatorid.depth + 1;
143
    fade.depth = obj_knight_enemy.depth + 1;
144
    fade.image_alpha = 0.6;
145
    fade.fadeSpeed = 0.04;
146
    fade.hspeed = 4;
147
}
148
if (line2 > -1)
149
{
150
    line2++;
151
    line2 %= 8;
152
}
153
if (line3 > -1)
154
{
155
    line3++;
156
    line3 %= 8;
157
}
158
if (image_index >= 5 && aim_type != 2)
159
{
160
    image_index = 5;
161
    image_speed = 0;
162
}
163
if (state == "intro")
164
{
165
    timer++;
166
    if (timer > 16)
167
    {
168
        state = "aim";
169
        timer = 0;
170
    }
171
}
172
if (state == "aim")
173
{
174
    timer++;
175
    if (timer == 1)
176
    {
177
        snd_stop(snd_knight_rotatingslash_line);
178
        snd_loop(snd_knight_rotatingslash_line);
179
        rotation = rotation_base;
180
        spin = choose(-1, 1);
181
        circle_size = 0;
182
        r = 128;
183
        g = 128;
184
        b = 128;
185
        movebox_x += (20 + irandom(40));
186
        movebox_y += (30 + irandom(60));
187
        if (movebox_x > 80)
188
            movebox_x -= 80;
189
        if (movebox_y > 120)
190
            movebox_y -= 120;
191
        if (aim_type != 2)
192
        {
193
            image_index = 1;
194
        }
195
        else
196
        {
197
            sprite_index = spr_roaringknight_flurry_prepare;
198
            image_index = 0;
199
        }
200
        
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("x", x, (
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(0) - 20) + movebox_x, (slash_base + slash_offset) - 8, 1, "out");
201
        
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("y", y, (
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(1) - 20) + movebox_y, (slash_base + slash_offset) - 8, 1, "out");
202
    }
203
    aim_direction += (rotation * spin);
204
    rotation = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(rotation, rotation_goal, rotation_change);
205
    if (timer == 1)
206
    {
207
        if (aim_type == 0)
208
        {
209
            aim_x = obj_heart.x + 10;
210
            aim_y = obj_heart.y + 10;
211
        }
212
        instance_create(aim_x, aim_y, obj_knight_circle);
213
    }
214
    else
215
    {
216
        r = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(r, 255, 9.142857142857142);
217
        g = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(g, 0, 9.142857142857142);
218
        b = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(b, 0, 9.142857142857142);
219
    }
220
    if (timer == floor((slash_base + slash_offset) * 0.5) && aim_type != 2)
221
        image_index++;
222
    if (timer == (slash_base + slash_offset))
223
    {
224
        if (aim_type != 2)
225
        {
226
            image_speed = 0.5;
227
        }
228
        else
229
        {
230
            scr_var_delayed("sprite_index", 3329, 4);
231
            scr_var_delayed("image_speed", 1, 4);
232
        }
233
    }
234
    if (timer == (slash_base + 6 + slash_offset))
235
    {
236
        state = "slash";
237
        timer = 0;
238
    }
239
}
240
if (state == "slash")
241
{
242
    timer++;
243
    if (timer == 1)
244
    {
245
        snd_stop(snd_knight_rotatingslash_line);
246
        ds_list_clear(slash_list);
247
        for (a = 0; a < slash_number; a++)
248
            ds_list_add(slash_list, ((360 / (other.slash_number * 2)) * other.a) + other.random_offset + other.aim_direction);
249
        ds_list_shuffle(slash_list);
250
        snd_play(snd_knight_cut);
251
        snd_play(snd_explosion_firework);
252
    }
253
    if ((timer - 1) < ds_list_size(slash_list))
254
    {
255
        var slashid;
256
        with (instance_create(aim_x, aim_y, obj_roaringknight_slash))
257
        {
258
            direction = ds_list_find_value(other.slash_list, other.timer - 1);
259
            image_xscale = 2;
260
            image_angle = direction;
261
            visible = false;
262
            width *= 2;
263
            aoe = true;
264
            slashid = id;
265
            var markscalex = 5 + random(3);
266
            var markscaley = 2 + random(1);
267
            with (instance_create(x, y, obj_particle_generic))
268
            {
269
                depth += 100;
270
                sprite_index = spr_knight_slash_mark;
271
                image_blend = c_red;
272
                image_angle = other.image_angle;
273
                image_xscale = markscalex;
274
                image_yscale = markscaley;
275
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_xscale", image_xscale, 0, 4);
276
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_yscale", image_yscale, 0, 4);
277
                
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(instance_destroy, 4);
278
            }
279
            with (instance_create(x, y, obj_particle_generic))
280
            {
281
                depth += 99;
282
                sprite_index = spr_knight_slash_mark;
283
                image_blend = c_black;
284
                image_angle = other.image_angle;
285
                image_xscale = markscaley * 0.85;
286
                image_yscale = markscaley * 0.85;
287
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_xscale", image_xscale, 0, 4);
288
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_yscale", image_yscale, 0, 4);
289
                
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(instance_destroy, 4);
290
            }
291
            repeat (4 + irandom(3))
292
            {
293
                var faade = 12 + irandom(8);
294
                var diist = -20 + random(60);
295
                with (instance_create(x, y, obj_particle_generic))
296
                {
297
                    speed = 6 + random(4);
298
                    image_angle = other.image_angle + random_range(-10, 10);
299
                    direction = image_angle;
300
                    repeat (50)
301
                    {
302
                        x += lengthdir_x(5, direction);
303
                        y += lengthdir_y(5, direction);
304
                        if (x < 
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(2) || x >
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(0) || y <
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(1) || y >
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(3))
305
                            break;
306
                    }
307
                    x += lengthdir_x(diist, direction);
308
                    y += lengthdir_y(diist, direction);
309
                    depth += 101;
310
                    sprite_index = spr_knight_slash_mark;
311
                    image_blend = c_red;
312
                    image_xscale = 0.3;
313
                    image_yscale = 0.15;
314
                    
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_xscale", image_xscale, 0, faade);
315
                    
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_yscale", image_yscale, 0, faade);
316
                    
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(instance_destroy, faade);
317
                }
318
            }
319
            repeat (4 + irandom(3))
320
            {
321
                var faade = 12 + irandom(8);
322
                var diist = -20 + random(60);
323
                with (instance_create(x, y, obj_particle_generic))
324
                {
325
                    speed = 6 + random(4);
326
                    image_angle = other.image_angle + 180 + random_range(-10, 10);
327
                    direction = image_angle;
328
                    repeat (50)
329
                    {
330
                        x += lengthdir_x(5, direction);
331
                        y += lengthdir_y(5, direction);
332
                        if (x < 
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(2) || x >
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(0) || y <
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(1) || y >
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(3))
333
                            break;
334
                    }
335
                    x += lengthdir_x(diist, direction);
336
                    y += lengthdir_y(diist, direction);
337
                    image_blend = c_red;
338
                    depth += 101;
339
                    sprite_index = spr_knight_slash_mark;
340
                    image_xscale = 0.3;
341
                    image_yscale = 0.15;
342
                    
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_xscale", image_xscale, 0, faade);
343
                    
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_yscale", image_yscale, 0, faade);
344
                    
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(instance_destroy, faade);
345
                }
346
            }
347
        }
348
        
scr_bullet_inherit
scr_bullet_inherit

function
scr_bullet_inherit(arg0)
{ if (i_ex(arg0)) { if (damage != -1) arg0.damage = damage; if (grazepoints != -1) arg0.grazepoints = grazepoints; if (timepoints != -1) arg0.timepoints = timepoints; if (inv != -1) arg0.inv = inv; if (target != -1) arg0.target = target; if (grazed != -1) arg0.grazed = 0; if (grazetimer != -1) arg0.grazetimer = 0; if (object_index == obj_dbulletcontroller) { arg0.creatorid = creatorid; arg0.creator = creator; } arg0.element = element; } }
(slashid);
349
        with (slashid)
350
            event_user(0);
351
    }
352
    if (timer == slash_timer)
353
    {
354
        state = "cooldown";
355
        timer = 0;
356
    }
357
}
358
if (state == "cooldown")
359
{
360
    timer++;
361
    if (timer == cooldown_time || local_turntimer < 200)
362
    {
363
        slash_counter++;
364
        if (slash_counter < array_length(slash_array))
365
        {
366
            slash_number = slash_array[slash_counter];
367
            slash_offset = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(slash_offset, 0, 6);
368
            slash_base = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(slash_base, 15, 1);
369
        }
370
        if (local_turntimer < 200 && !slashes_done)
371
        {
372
            slashes_done = true;
373
            local_turntimer = 99999;
374
        }
375
        if (slashes_done)
376
        {
377
            if (difficulty == 2 && turn_type == "full")
378
            {
379
                if (do_final)
380
                {
381
                    snd_play(snd_knight_puff);
382
                    snd_play_x(snd_knight_teleport, 1, 0.5);
383
                    rotation_base = 18;
384
                    rotation_change = 0.5;
385
                    line_width = 4;
386
                    with (instance_create(mean(
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(2),
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(0)), mean(
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(1),
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(3)), obj_afterimage_screen))
387
                    {
388
                        faderate = 0.05;
389
                        draw_end = true;
390
                    }
391
                    slash_number = 1;
392
                    slash_base = 24;
393
                    cooldown_time = 2;
394
                    slash_timer = 2;
395
                    aim_type = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(aim_type, 2, 1);
396
                    do_final = false;
397
                    aim_x = mean(
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(2),
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(0));
398
                    aim_y = mean(
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(1),
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(3));
399
                }
400
            }
401
            else
402
            {
403
                if (turn_type == "start" || turn_type == "short start" || turn_type == "short mid")
404
                {
405
                    with (instance_create_depth(x, y, depth, obj_knight_warp))
406
                    {
407
                        master = other.id;
408
                        event_user(1);
409
                    }
410
                    
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(scr_var, 2, "image_index", 4);
411
                    
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(scr_var, 4, "image_index", 0);
412
                    alarm[2]
 = 4;
gml_Object_obj_knight_rotating_slash_Alarm_2.gml

if (next_up != -999) { var knight = -4; switch (next_up) { case 1: knight = 366; break; case 3: knight = 803; break; case 4: knight = 631; break; case 5: knight = 1174; break; } var new_knight = instance_create(x, y, knight);
scr_bullet_inherit(new_knight);
new_knight.creatorid = creatorid; new_knight.creator = creator; with (new_knight) { turn_type = "end"; if (other.turn_segment == 0) { turn_type = "short mid"; turn_segment = 1; next_up = other.next_next_up; } if (other.turn_segment == 1) { turn_type = "short end"; turn_segment = 2; } if (knight == 366) knight.timer = knight.spawn_speed; anchor_x = other.anchor_x; anchor_y = other.anchor_y; event_user(0); } } instance_destroy();
413
                    exit;
414
                }
415
                debug = true;
416
                state = "return";
417
                timer = 0;
418
                
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(scr_var, 8, "image_index", 0);
419
                
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(scr_lerpvar, 8, "x", x, anchor_x, 12, 1, "out");
420
                
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(scr_lerpvar, 8, "y", y, anchor_y, 12, 1, "out");
421
                alarm[3]
 = 22;
gml_Object_obj_knight_rotating_slash_Alarm_3.gml

instance_destroy();
422
                exit;
423
            }
424
        }
425
        if (aim_type < 2)
426
        {
427
            state = "aim";
428
            timer = 0;
429
            if (aim_type == 1)
430
            {
431
                line2 = 0;
432
                alarm[1]
 = 4;
gml_Object_obj_knight_rotating_slash_Alarm_1.gml

line3 = 0;
433
                aim_type = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(aim_type, 2, 1);
434
                exit;
435
            }
436
        }
437
        if (aim_type == 2)
438
        {
439
            state = "slash";
440
            timer = 0;
441
            aim_direction += (speed_gain * spin);
442
            speed_gain = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(speed_gain, 24, 1);
443
            final_counter++;
444
            if (final_counter == 28)
445
            {
446
                state = "return";
447
                
scr_var
scr_var

function
scr_var(arg0, arg1)
{ variable_instance_set(id, arg0, arg1); }
("sprite_index", 2128);
448
                
scr_var
scr_var

function
scr_var(arg0, arg1)
{ variable_instance_set(id, arg0, arg1); }
("image_index", 0);
449
                
scr_var
scr_var

function
scr_var(arg0, arg1)
{ variable_instance_set(id, arg0, arg1); }
("image_speed", 0);
450
                with (obj_lerpvar)
451
                {
452
                    if (target == other.id)
453
                        instance_destroy();
454
                }
455
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("x", x, anchor_x, 12, 1, "out");
456
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("y", y, anchor_y, 12, 1, "out");
457
                alarm[3]
 = 22;
gml_Object_obj_knight_rotating_slash_Alarm_3.gml

instance_destroy();
458
                timer = 0;
459
            }
460
            else
461
            {
462
                movebox_x += (20 + irandom(40));
463
                movebox_y += (30 + irandom(60));
464
                sprite_index = spr_roaringknight_flurry;
465
                image_speed = 1;
466
                if (movebox_x > 80)
467
                    movebox_x -= 80;
468
                if (movebox_y > 120)
469
                    movebox_y -= 120;
470
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("x", x, (
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(0) - 20) + movebox_x, (slash_base + slash_offset) - 8, 1, "out");
471
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("y", y, (
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(1) - 20) + movebox_y, (slash_base + slash_offset) - 8, 1, "out");
472
            }
473
        }
474
    }
475
}