Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_berdlyb_spearblast_bullet_Step_0

(view raw script w/o annotations or w/e)
1
if (init == 0)
2
{
3
    snd_stop(snd_rocket);
4
    snd_volume(snd_rocket, 1, 0);
5
    snd_play(snd_rocket);
6
    init = 1;
7
    timer = 2;
8
    path_start(bulletPath, 21, path_action_stop, false);
9
}
10
if (spawnrate >= 0)
11
{
12
    if (spawntimer == spawnrate)
13
    {
14
        d = 
scr_childbullet
scr_childbullet

function
scr_childbullet()
{ var __child = instance_create(argument[0], argument[1], argument[2]); var __parent = (argument_count == 4) ? argument[3] : id; if (__parent.damage != -1) __child.damage = __parent.damage; if (__parent.grazepoints != -1) __child.grazepoints = __parent.grazepoints; if (__parent.timepoints != -1) __child.timepoints = __parent.timepoints; if (__parent.inv != -1) __child.inv = __parent.inv; if (__parent.target != -1) __child.target = __parent.target; if (__parent.grazed != -1) __child.grazed = __parent.grazed; if (__parent.grazetimer != -1) __child.grazetimer = __parent.grazetimer; __child.element = __parent.element; return __child; }
(x, y, obj_berdlyb_spearblast_trail);
15
        d.grazepoints = childgraze;
16
        d.image_angle = direction;
17
        spawntimer = 0;
18
    }
19
    else
20
    {
21
        spawntimer++;
22
    }
23
}
24
if (spawnchild >= 1)
25
{
26
    timer--;
27
    if (timer <= 0)
28
    {
29
        for (i = 0; i < spawnchild; i++)
30
        {
31
            d = 
scr_childbullet
scr_childbullet

function
scr_childbullet()
{ var __child = instance_create(argument[0], argument[1], argument[2]); var __parent = (argument_count == 4) ? argument[3] : id; if (__parent.damage != -1) __child.damage = __parent.damage; if (__parent.grazepoints != -1) __child.grazepoints = __parent.grazepoints; if (__parent.timepoints != -1) __child.timepoints = __parent.timepoints; if (__parent.inv != -1) __child.inv = __parent.inv; if (__parent.target != -1) __child.target = __parent.target; if (__parent.grazed != -1) __child.grazed = __parent.grazed; if (__parent.grazetimer != -1) __child.grazetimer = __parent.grazetimer; __child.element = __parent.element; return __child; }
(x, y, obj_berdlyb_spearblast_mini);
32
            d.grazepoints = childgraze;
33
            d.direction = direction + childOffset;
34
            if (spawnchild == 2)
35
            {
36
                d.x += lengthdir_x(3, d.direction);
37
                d.y += lengthdir_y(3, d.direction);
38
            }
39
            d.image_angle = direction + childOffset;
40
            d.updateimageangle = 1;
41
            timer = 2;
42
            if (i == 0)
43
                childOffset *= -1;
44
        }
45
    }
46
}
47
image_angle = direction;