Deltarune (Chapter 5) script viewer

← back to main script listing

gml_Object_obj_attack_knifefan_manager_Step_0

(view raw script w/o annotations or w/e)
1
timer++;
2
if (timer == (cooldown - 6))
3
{
4
    image_index = 4;
5
    
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ var _id = self; if (!is_struct(self)) _id = id; 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_lerpcol() { if (argument_count < 6) ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3]); else ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]); return ___lerpvar; }
("image_index", 4, 6, 4);
6
}
7
if (timer >= cooldown)
8
{
9
    timer = 0;
10
    cooldown = 
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; }
(cooldown, 32, 3);
11
    if (netskie == true)
12
        cooldown = 39;
13
    if (i_ex(obj_seth_shi_controller))
14
    {
15
        cooldown = 60;
16
        knife_number = 2;
17
    }
18
    ds_list_shuffle(offset_list);
19
    snd_play_x(snd_swing, 0.75, 1.5);
20
    var _side = choose(-45, 0, 45);
21
    for (var a = 0; a < knife_number; a++)
22
    {
23
        var _length = 155 + random(30);
24
        var _b = 50;
25
        if (knife_number == 2)
26
            _b = 100;
27
        var _dir = _side + 105 + (_b * a) + irandom_range(-10, 10);
28
        fan_knife(
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; } }
(4) + lengthdir_x(_length, _dir),
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; } }
(5) + (lengthdir_y(_length, _dir) * 0.75), attack_speed + ds_list_find_value(offset_list, a));
29
    }
30
    image_index = 0;
31
    
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ var _id = self; if (!is_struct(self)) _id = id; 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_lerpcol() { if (argument_count < 6) ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3]); else ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]); return ___lerpvar; }
("image_index", 0, 2, 2);
32
}