Deltarune script viewer

← back to main script listing

gml_Object_obj_launchanim_Draw_0

(view raw script w/o annotations or w/e)
1
if (t == 0)
2
{
3
    shakex = scr_movetowards
scr_movetowards

function scr_movetowards(arg0, arg1, arg2) { if (arg0 == arg1) return arg0; else if (arg0 > arg1) return max(arg0 - arg2, arg1); else return min(arg0 + arg2, arg1); }
(shakex, 0, 1);
4
    shakex *= -1;
5
    hurtshake = 0;
6
    draw_sprite_ext(sprite_index, 0, x + shakex, y, 2, 2, 0, image_blend, 1);
7
}
8
else
9
{
10
    draw_sprite_center_pivot(sprite_index, image_index, x, y);
11
}
12
sweat = 0;
13
if (g <= 5)
14
    sweat = 1;
15
if (g >= 9 && g <= 13)
16
    sweat = 1;
17
if (sweat == 1)
18
    draw_sprite(spr_defeatsweat, 0, x - 6, y - 6);
19
if ((t > 0 && t <= 20) || g == 19)
20
{
21
    d = scr_custom_afterimage
scr_custom_afterimage

function scr_custom_afterimage(arg0) { afterimage = instance_create(x, y, arg0); afterimage.sprite_index = sprite_index; afterimage.image_index = image_index; afterimage.image_blend = image_blend; afterimage.image_speed = 0; afterimage.depth = depth + 1; afterimage.image_xscale = image_xscale; afterimage.image_yscale = image_yscale; afterimage.image_angle = image_angle; return afterimage; }
(obj_growing_afterimage);
22
    d.sprite_index = spr_launchsmoke;
23
    var sidelen = random_range(-10, 10);
24
    d.x += (sprite_width / 2) + lengthdir_x(sidelen, direction + 90);
25
    d.y += (sprite_height / 2) + lengthdir_y(sidelen, direction + 90);
26
    var rotdir = irandom(3);
27
    var _xscale = 1;
28
    var _yscale = 1;
29
    if ((rotdir % 2) == 1)
30
        _yscale = random_range(0.5, 0.75);
31
    else
32
        _xscale = random_range(0.5, 0.75);
33
    d.image_angle = (rotdir * 90) + direction;
34
    d.image_xscale = (choose(1, 1) * (scr_remapvalue
scr_remapvalue

function scr_remapvalue(arg0, arg1, arg2, arg3, arg4) { if (arg1 == arg0) return arg3; var __invLerp = (arg2 - arg0) / (arg1 - arg0); return lerp(arg3, arg4, __invLerp); } function remap(arg0, arg1, arg2, arg3, arg4) { var __invLerp = scr_inverselerp(arg1, arg2, arg0); return lerp(arg3, arg4, __invLerp); } function remap_clamped(arg0, arg1, arg2, arg3, arg4) { var __remapped_value = remap(arg0, arg1, arg2, arg3, arg4); return clamp(__remapped_value, arg3, arg4); }
(1, 10, t, 3, 1) + random_range(-0.2, 0.2))) - _xscale;
35
    d.image_yscale = (choose(1, 1) * (scr_remapvalue
scr_remapvalue

function scr_remapvalue(arg0, arg1, arg2, arg3, arg4) { if (arg1 == arg0) return arg3; var __invLerp = (arg2 - arg0) / (arg1 - arg0); return lerp(arg3, arg4, __invLerp); } function remap(arg0, arg1, arg2, arg3, arg4) { var __invLerp = scr_inverselerp(arg1, arg2, arg0); return lerp(arg3, arg4, __invLerp); } function remap_clamped(arg0, arg1, arg2, arg3, arg4) { var __remapped_value = remap(arg0, arg1, arg2, arg3, arg4); return clamp(__remapped_value, arg3, arg4); }
(1, 10, t, 3, 1) + random_range(-0.2, 0.2))) - _yscale;
36
    d.gravity = -0.1;
37
    d.direction = direction;
38
    d.speed = -2;
39
    d.depth = depth + 1;
40
}
41
if (t >= 30)
42
    instance_destroy();