Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_obj_sneo_wallbullet_Step_0

(view raw script w/o annotations or w/e)
1
if (image_alpha < 1)
2
    image_alpha += 0.04;
3
if (init == 0)
4
{
5
    startdepth = obj_growtangle.depth + depth;
6
    init = 1;
7
}
8
if (x >= (room_width + 100) || x <= -100 || y >= (room_height + 100) || y <= -100)
9
    instance_destroy();
10
direction += angle_speed;
11
if (angleadjust == 1)
12
    image_angle = direction;
13
if (destroyable == 1)
14
{
15
    flashsiner++;
16
    image_blend = merge_color(#00A2E8, c_aqua, 0.25 + (sin(flashsiner / 3) * 0.25));
17
}
18
sinespeed = obj_sneo_wall_controller.sinespeed;
19
siner += sinespeed;
20
x = xx + (cos(-siner / 20) * xdist);
21
var _falsedepth = sin(siner / 20);
22
active = _falsedepth >= 0;
23
var _depthblend = clamp(_falsedepth + 0.5, 0, 1);
24
if (destroyable)
25
    image_blend = merge_color(merge_color(c_black, image_blend, 0.5), image_blend, _depthblend);
26
else
27
    image_blend = merge_color(c_gray, c_white, _depthblend);
28
depth = obj_growtangle.depth - (_falsedepth * startdepth);
29
if (destroyable == 1)
30
{
31
    if (active == 1)
32
        depth = obj_heart.depth - 100;
33
    if (y < (cameray() + 110))
34
    {
35
        image_xscale = (y - cameray() - 90) / 20;
36
        image_yscale = (y - cameray() - 90) / 20;
37
        if (obj_sneo_wall_controller.introtimer > 24)
38
            image_alpha = (y - cameray() - 90) / 20;
39
    }
40
    else if (y > (cameray() + 233))
41
    {
42
        image_xscale = (20 - (y - cameray() - 233)) / 20;
43
        image_yscale = (20 - (y - cameray() - 233)) / 20;
44
        if (obj_sneo_wall_controller.introtimer > 24)
45
            image_alpha = (20 - (y - cameray() - 233)) / 20;
46
    }
47
    else
48
    {
49
        image_xscale = 1;
50
        image_yscale = 1;
51
        if (obj_sneo_wall_controller.introtimer > 24)
52
            image_alpha = 1;
53
    }
54
}
55
if (loop == 1)
56
{
57
    if (y < loopy1)
58
        y = loopy2 - (loopy1 - y);
59
    if (y > loopy2)
60
        y = loopy1 + (y - loopy2);
61
}
62
y += (falsevspeed * sinespeed);
63
if (bighitbox == 1)
64
{
65
    hitshot = collision_rectangle(x, y, x + sprite_width, y + sprite_height, obj_yheart_shot, true, false);
66
    if (hitshot != -4)
67
        event_user(0);
68
}