Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_obj_forcefield_Draw_0

(view raw script w/o annotations or w/e)
1
if (black_override == 1)
2
{
3
    draw_set_color(c_black);
4
    draw_rectangle(x, y, x + sprite_width, y + sprite_height, false);
5
}
6
else
7
{
8
    if (basic == 1 && ignorealpha == 0)
9
    {
10
        cl = distance_to_object(obj_mainchara) / f;
11
        if (cl > 40)
12
            cl = 40;
13
        if (cl < 10)
14
            cl = 10;
15
        image_alpha = 1 - ((cl - 10) / 30);
16
    }
17
    if (stayVisible == 1 && ignorealpha == 0)
18
        image_alpha = 1;
19
    var height = image_yscale / f;
20
    if (image_yscale > 2)
21
    {
22
        for (i = 0; i < height; i += 1)
23
        {
24
            done = 0;
25
            if (i == 0)
26
            {
27
                draw_sprite_ext(spr_forcefield_top, siner / 3, x, y + (i * 20 * f), 1 * f, 1 * f, 0, c_white, image_alpha);
28
                done = 1;
29
            }
30
            if (i > 0 && done == 0)
31
            {
32
                if ((i + 1) >= height)
33
                    draw_sprite_ext(spr_forcefield_top, siner / 3, x, y + (i * 20 * f) + (20 * f), 1 * f, -1 * f, 0, c_white, image_alpha);
34
                else
35
                    draw_sprite_ext(spr_forcefield_middle, siner / 3, x, y + (i * 20 * f), 1 * f, 1 * f, 0, c_white, image_alpha);
36
                done = 1;
37
            }
38
        }
39
    }
40
    var width = image_xscale / f;
41
    if (image_xscale > 2)
42
    {
43
        for (j = 0; j < width; j += 1)
44
        {
45
            done = 0;
46
            if (j == 0)
47
            {
48
                draw_sprite_ext(spr_forcefield_right, siner / 3, x + (j * 20 * f), y, 1 * f, 1 * f, 0, c_white, image_alpha);
49
                done = 1;
50
            }
51
            if (j > 0 && done == 0)
52
            {
53
                if ((j + 1) >= width)
54
                    draw_sprite_ext(spr_forcefield_right, siner / 3, x + (j * 20 * f) + (20 * f), y, -1 * f, 1 * f, 0, c_white, image_alpha);
55
                else
56
                    draw_sprite_ext(spr_forcefield_right_middle, siner / 3, x + (j * 20 * f) + (20 * f), y, -1 * f, 1 * f, 0, c_white, image_alpha);
57
                done = 1;
58
            }
59
        }
60
    }
61
    if (global.flag[8 simplify_vfx] == 0)
62
        siner += 1;
63
    else
64
        siner += 0.25;
65
}