Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_roaringknight_splitslash_Draw_0

(view raw script w/o annotations or w/e)
1
if (slash)
2
{
3
    draw_self();
4
}
5
else
6
{
7
    gpu_set_blendmode(bm_add);
8
    var _ease = 
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; } }
(clamp01(timer / 30), 3);
9
    var _spin = ((_ease * 15) - 15) * flip;
10
    var _backing = merge_color(c_black, c_red, 0.5);
11
    var _growtangle = obj_roaringknight_boxsplitter_attack.growtangle;
12
    var _size = lerp(4, 0, _ease);
13
    var _length = _ease * 180;
14
    draw_sprite_ext(spr_pxwhite10_center, 0, _growtangle.x + xoffset, _growtangle.y + yoffset, _length, _size, _spin + image_angle + angleoffset, _backing, 1);
15
    gpu_set_blendmode(bm_normal);
16
}
17
if (playerstrike == 1)
18
{
19
    with (obj_heart)
20
    {
21
        var _xx = irandom(2) - 1;
22
        var _yy = irandom(2) - 1;
23
        var _fade = remap_clamped(45, 55, 1, 0, other.timer);
24
        draw_sprite(sprite_index, image_index, x + _xx, y + _yy);
25
        draw_sprite_ext(spr_rk_slash_heartslice, other.cuty, x + _xx, y + _yy, 1, 1, 0, c_white, _fade);
26
    }
27
}