Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_shadowman_sax_attack_Other_17

(view raw script w/o annotations or w/e)
1
var cx = camerax();
2
var cy = cameray();
3
var lineLength = 0.0125;
4
if (scr_is_switch_os())
5
{
6
    var count = 0;
7
    with (obj_shadowman_enemy)
8
    {
9
        if (myattackchoice == 1)
10
            count++;
11
    }
12
    lineLength = 0.0125;
13
    if (count == 2)
14
        lineLength = 0.018750000000000003;
15
    if (count == 3)
16
        lineLength = 0.025;
17
}
18
if (!optimized_draw || image_alpha >= 1)
19
{
20
    if (optimized_draw)
21
    {
22
        surface_set_target(surf);
23
        draw_clear_alpha(c_black, 0);
24
    }
25
    var i = min(loopStart, 1);
26
    while (i > 0)
27
    {
28
        firstColor = merge_color(c_red, c_gray, colorProgress);
29
        if (colorProgress < 1)
30
            colorProgress += 0.05;
31
        secondColor = merge_color(c_red, c_gray, colorProgress);
32
        x1 = path_get_x(mypath, i);
33
        y1 = path_get_y(mypath, i);
34
        x2 = path_get_x(mypath, i - lineLength);
35
        y2 = path_get_y(mypath, i - lineLength);
36
        var _x1 = x1;
37
        var _y1 = y1;
38
        var _x2 = x2;
39
        var _y2 = y2;
40
        if (snapshot || optimized_draw)
41
        {
42
            x1 -= cx;
43
            y1 -= cy;
44
            x2 -= cx;
45
            y2 -= cy;
46
        }
47
        draw_line_color(x1, y1, x2, y2, firstColor, secondColor);
48
        if (draw_style >= 2)
49
        {
50
            var _gap1;
51
            if (i >= 0.25)
52
                _gap1 = lerp(5, 8, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
(clamp(
scr_inverselerp
scr_inverselerp

function inverselerp(arg0, arg1, arg2) { if (arg1 == arg0) return 0; return (arg2 - arg0) / (arg1 - arg0); } function
scr_inverselerp(arg0, arg1, arg2)
{ if (arg1 == arg0) return 0; return (arg2 - arg0) / (arg1 - arg0); }
(0.25, 1, i), 0, 1), 2));
53
            else
54
                _gap1 = lerp(2, 5, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
(clamp(
scr_inverselerp
scr_inverselerp

function inverselerp(arg0, arg1, arg2) { if (arg1 == arg0) return 0; return (arg2 - arg0) / (arg1 - arg0); } function
scr_inverselerp(arg0, arg1, arg2)
{ if (arg1 == arg0) return 0; return (arg2 - arg0) / (arg1 - arg0); }
(0, 0.25, i), 0, 1), 2));
55
            var _gap2;
56
            if ((i - lineLength) >= 0.25)
57
                _gap2 = lerp(5, 8, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
(clamp(
scr_inverselerp
scr_inverselerp

function inverselerp(arg0, arg1, arg2) { if (arg1 == arg0) return 0; return (arg2 - arg0) / (arg1 - arg0); } function
scr_inverselerp(arg0, arg1, arg2)
{ if (arg1 == arg0) return 0; return (arg2 - arg0) / (arg1 - arg0); }
(0.25, 1, i - lineLength), 0, 1), 2));
58
            else
59
                _gap2 = lerp(2, 5, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
(clamp(
scr_inverselerp
scr_inverselerp

function inverselerp(arg0, arg1, arg2) { if (arg1 == arg0) return 0; return (arg2 - arg0) / (arg1 - arg0); } function
scr_inverselerp(arg0, arg1, arg2)
{ if (arg1 == arg0) return 0; return (arg2 - arg0) / (arg1 - arg0); }
(0, 0.25, i - lineLength), 0, 1), 2));
60
            if (!fancy_staff)
61
            {
62
            }
63
            else
64
            {
65
                var _dir1;
66
                if (i == 1)
67
                    _dir1 = point_direction(x1, y1, x2, y2) + 90;
68
                else
69
                    _dir1 = point_direction(path_get_x(mypath, i + lineLength), path_get_y(mypath, i + lineLength), _x2, _y2) + 90;
70
                var _dir2;
71
                if (i == lineLength)
72
                    _dir2 = 90;
73
                else
74
                    _dir2 = point_direction(_x1, _y1, path_get_x(mypath, i - (lineLength * 2)), path_get_y(mypath, i - (lineLength * 2))) + 90;
75
                var _xx1 = lengthdir_x(_gap1, _dir1);
76
                var _yy1 = lengthdir_y(_gap1, _dir1);
77
                var _xx2 = lengthdir_x(_gap2, _dir2);
78
                var _yy2 = lengthdir_y(_gap2, _dir2);
79
                draw_line_color(x1 - (_xx1 * 2), y1 - (_yy1 * 2), x2 - (_xx2 * 2), y2 - (_yy2 * 2), firstColor, secondColor);
80
                draw_line_color(x1 - (_xx1 * 1), y1 - (_yy1 * 1), x2 - (_xx2 * 1), y2 - (_yy2 * 1), firstColor, secondColor);
81
                draw_line_color(x1 + (_xx1 * 1), y1 + (_yy1 * 1), x2 + (_xx2 * 1), y2 + (_yy2 * 1), firstColor, secondColor);
82
                draw_line_color(x1 + (_xx1 * 2), y1 + (_yy1 * 2), x2 + (_xx2 * 2), y2 + (_yy2 * 2), firstColor, secondColor);
83
                if ((i % 0.05) < lineLength || (i % 0.05) > 0.0375)
84
                    draw_line_color(x1 - (_xx1 * 2), y1 - (_yy1 * 2), x1 + (_xx2 * 2), y1 + (_yy2 * 2), firstColor, firstColor);
85
            }
86
        }
87
        i -= lineLength;
88
    }
89
    if (optimized_draw)
90
        surface_reset_target();
91
}
92
if (optimized_draw)
93
    draw_surface_ext(surf, cx, cy, 1, 1, 0, c_white, image_alpha);