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