Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_obj_rouxls_power_up_orb_Draw_0

(view raw script w/o annotations or w/e)
1
if (parenttarget != -1 && !i_ex(parenttarget))
2
{
3
    instance_destroy();
4
    exit;
5
}
6
if (parenttarget != -1 && i_ex(parenttarget))
7
{
8
    xstart = parenttarget.x;
9
    ystart = parenttarget.y;
10
}
11
if (init == 0)
12
{
13
    init = 1;
14
    if (thin)
15
        lifetime /= 2;
16
    if (track_target != -4)
17
    {
18
        xstart = 0;
19
        ystart = 0;
20
    }
21
    var _distance = random_range(70, 90) * distance_multiplier;
22
    if (_type == 1)
23
        _distance = random_range(40, 45);
24
    xx = xstart + lengthdir_x(_distance, direction);
25
    x = xx;
26
    yy = ystart + lengthdir_y(_distance, direction);
27
    y = yy;
28
}
29
if (track_target != -4)
30
{
31
    xoff = track_target.x;
32
    yoff = track_target.y;
33
}
34
timer++;
35
if (timer > lifetime)
36
{
37
    instance_destroy();
38
    exit;
39
}
40
var _progress = timer / lifetime;
41
image_alpha = 1;
42
if (thin)
43
{
44
    image_blend = c_white;
45
    image_yscale = 0.25;
46
    image_angle = direction;
47
    draw_self();
48
    x = lerp(xx, xstart, 
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); } }
(_progress, 2)) + xoff;
49
    y = lerp(yy, ystart, 
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); } }
(_progress, 2)) + yoff;
50
}
51
else
52
{
53
    var _drawalpha = draw_get_alpha();
54
    draw_set_color(image_blend);
55
    draw_circle(x, y, radius - 2, 0);
56
    draw_set_alpha(image_alpha);
57
    x = lerp(xx, xstart, 
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); } }
(_progress, 2)) + xoff;
58
    y = lerp(yy, ystart, 
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); } }
(_progress, 2)) + yoff;
59
    draw_circle(x, y, radius, 0);
60
    if ((radius - 3) > 0)
61
    {
62
        draw_set_color(c_white);
63
        draw_circle(x, y, radius - 2, 0);
64
    }
65
    draw_set_alpha(_drawalpha);
66
    radius = lerp(max_radius, 1, _progress);
67
}