Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_roaringknight_boxsplitter_attack_Draw_0

(view raw script w/o annotations or w/e)
1
if (image_alpha == 1)
2
{
3
    if (animtimer < 4)
4
        animtimer++;
5
    else if (image_index == 1 || image_index == 4)
6
        image_index++;
7
    draw_self();
8
    aetimer++;
9
    if ((aetimer % 4) == 0 && image_alpha != 0)
10
    {
11
        fade = 
scr_afterimage
scr_afterimage

function
scr_afterimage()
{ afterimage = instance_create(x, y, obj_afterimage); afterimage.sprite_index = sprite_index; afterimage.image_index = image_index; afterimage.image_blend = image_blend; afterimage.image_speed = 0; afterimage.depth = depth; afterimage.image_xscale = image_xscale; afterimage.image_yscale = image_yscale; afterimage.image_angle = image_angle; return afterimage; }
();
12
        fade.sprite_index = sprite_index;
13
        fade.image_alpha = 0.6;
14
        fade.fadeSpeed = 0.02;
15
        fade.hspeed = 2 * sign(x - obj_growtangle.x);
16
        if (x < obj_growtangle.x)
17
            fade.depth = depth + 50;
18
        else
19
            fade.depth = depth + 100;
20
    }
21
}
22
if (!surface_exists(hell_surface))
23
    hell_surface = surface_create(142, 142);
24
draw_set_blend_mode(bm_normal);
25
surface_set_target(hell_surface);
26
draw_clear_alpha(c_black, 0);
27
var _gtx = gt_minx() + 5;
28
var _gty = gt_miny() + 5;
29
with (obj_roaringknight_splitslash)
30
{
31
    if (!slash)
32
    {
33
        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);
34
        var _spin = ((_ease * 15) - 15) * flip;
35
        var _backing = merge_color(c_black, image_blend, 0.5);
36
        var _size = lerp(4, 0, _ease);
37
        var _length = clamp01(timer / 30) * 90;
38
        draw_sprite_ext(spr_pxwhite10_center, 0, 71 + xoffset, 71 + yoffset, _length, _size, _spin + image_angle + angleoffset, _backing, 1);
39
        gpu_set_blendmode_ext(bm_dest_alpha, bm_dest_alpha);
40
        draw_sprite_tiled_ext(spr_knight_bullet_flow, 2, timer, timer, 0.25, 0.25, image_blend, 1);
41
        draw_sprite_tiled_ext(spr_knight_bullet_flow, 2, -timer + 40, -timer + 40, 0.25, 0.25, image_blend, 1);
42
        gpu_set_blendmode(bm_normal);
43
    }
44
}
45
surface_reset_target();
46
draw_set_blend_mode(bm_add);
47
draw_surface(hell_surface, obj_growtangle.x - 71, obj_growtangle.y - 71);
48
draw_set_blend_mode(bm_normal);