Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_obj_overworldbullet_fireworks_Step_0

(view raw script w/o annotations or w/e)
1
if (type == 0)
2
{
3
    timer++;
4
    image_alpha += 0.1;
5
    image_xscale += (sin(timer / 2) * 0.2);
6
    image_yscale += (sin(timer / 2) * 0.2);
7
    if (timer >= 30)
8
    {
9
        var bulletcount = 16;
10
        var randodir = random(60);
11
        for (var i = 0; i < bulletcount; i++)
12
        {
13
            shot = instance_create(x, y, obj_overworldbulletparent);
14
            shot.sprite_index = sprite_index;
15
            shot.image_xscale = 2;
16
            shot.image_yscale = 2;
17
            shot.speed = 1;
18
            shot.active = 1;
19
            shot.friction = -0.4;
20
            shot.target = 3;
21
            shot.damage = 15;
22
            shot.direction = ((360 / bulletcount) * i) + randodir;
23
            if (global.flag[8 simplify_vfx] == 0)
24
            {
25
                shot.image_blend = make_color_hsv(random(255), 120, 255);
26
                with (shot)
27
                    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_afterimage_grow, 10);
28
            }
29
        }
30
        snd_play(snd_explosion_firework);
31
        instance_destroy();
32
    }
33
}
34
if (type == 1)
35
{
36
    timer++;
37
    image_alpha += 0.1;
38
    image_xscale += (sin(timer / 2) * 0.2);
39
    image_yscale += (sin(timer / 2) * 0.2);
40
    if ((dir == "right" && x >= 140) || (dir == "left" && x <= (room_width - 140)))
41
    {
42
        var bulletcount = 12;
43
        var randodir = random(120);
44
        for (var i = 0; i < bulletcount; i++)
45
        {
46
            shot = instance_create(x, y, obj_overworldbulletparent);
47
            shot.sprite_index = spr_spamtonhead;
48
            shot.image_speed = 0;
49
            shot.image_index = choose(0, 0, 0, 1, 1, 1, 2, 3);
50
            shot.speed = 1;
51
            shot.active = 1;
52
            shot.friction = -0.4;
53
            shot.target = 3;
54
            shot.damage = 15;
55
            shot.direction = ((360 / bulletcount) * i) + randodir;
56
            if (global.flag[8 simplify_vfx] == 0)
57
            {
58
                with (shot)
59
                    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_afterimage_grow, 10);
60
            }
61
        }
62
        snd_play_pitch(snd_explosion_firework, 1.4);
63
        instance_destroy();
64
    }
65
}