Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_obj_werewire_bullet_lasercircle_Step_0

(view raw script w/o annotations or w/e)
1
if (parent != -1 && i_ex(parent))
2
{
3
    x = parent.x - 32;
4
    y = parent.y;
5
}
6
siner += 0.5;
7
timer += 1;
8
if (timer <= (6 / m))
9
{
10
    image_xscale += (0.4 * m);
11
    image_yscale += (0.4 * m);
12
}
13
if (timer > (6 / m) && timer <= (my_length + 3))
14
{
15
    laser = instance_create(x, y, obj_werewire_bullet_lasersquare);
16
    
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; arg0.element = element; } }
(laser);
17
    image_xscale -= (sin(siner * 1.3 * m) * 0.2);
18
    image_yscale -= (sin(siner * 1.3 * m) * 0.2);
19
    laser.image_angle = my_angle;
20
    laser.speed = my_speed;
21
    laser.direction = my_angle;
22
    laser.friction = -my_accel;
23
    laser.image_yscale = 1;
24
    laser.my_angle_change = my_angle_change;
25
    if (i_ex(obj_spamton_neo_enemy))
26
        laser.sprite_index = spr_bullet_laser_square_sneo;
27
    else
28
        laser.sprite_index = spr_bullet_laser_square;
29
    if (timer == 3)
30
    {
31
        if (i_ex(obj_spamton_neo_enemy))
32
            laser.sprite_index = spr_bullet_laser_front_sneo;
33
        else
34
            laser.sprite_index = spr_bullet_laser_front;
35
    }
36
    if (timer == (my_length + 3))
37
    {
38
        if (i_ex(obj_spamton_neo_enemy))
39
            laser.sprite_index = spr_bullet_laser_front_sneo;
40
        else
41
            laser.sprite_index = spr_bullet_laser_front;
42
        laser.image_index = 1;
43
    }
44
}
45
else
46
{
47
    image_xscale -= (0.1 * m);
48
    image_yscale -= (0.1 * m);
49
    if (image_xscale <= 0 && image_yscale <= 0)
50
        instance_destroy();
51
}