Deltarune script viewer

← back to main script listing

gml_Object_obj_confetti_overworld_Step_0

(view raw script w/o annotations or w/e)
1
if ((y - height) > (cameray() + 500) || x < (camerax() - 100) || x > (camerax() + 740) || (!airborne && y < (cameray() - 100)))
2
{
3
    if (i_ex(shadow))
4
        instance_destroy(shadow);
5
    instance_destroy();
6
}
7
if (!init)
8
{
9
    init = true;
10
    if (i_ex(shadow))
11
        shadow.depth = maxDepth;
12
}
13
falltime++;
14
if (!airborne)
15
{
16
    if (!destroyOnLand)
17
        exit;
18
    siner -= 0.1;
19
    image_alpha = min(siner, 1);
20
    if (siner <= 0)
21
    {
22
        if (i_ex(shadow))
23
            instance_destroy(shadow);
24
        instance_destroy();
25
    }
26
    exit;
27
}
28
if (fallspeed < 0)
29
    fallspeed += fallFriction;
30
if (fallspeed > -5)
31
    fallFriction = 0.4;
32
if (speed < 5)
33
    friction = 0.4;
34
if (fallspeed < 2)
35
    fallspeed = 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); }
(fallspeed, 2, 0.1);
36
height -= fallspeed;
37
if (airborne && height <= 0 && y < maxy)
38
{
39
    instance_destroy(shadow);
40
    fallspeed = 0;
41
    height = 0;
42
    airborne = false;
43
    image_index = (image_index < 4) ? 3 : 7;
44
    speed = 0;
45
    image_speed = 0;
46
    x += sin(siner / 15);
47
    depth = maxDepth - falltime;
48
    siner = 3;
49
    exit;
50
}
51
x += (sin(siner / 15) * (fallspeed / 2));
52
siner++;
53
image_speed = 1 + (speed / 15);
54
scr_depth
scr_depth

function scr_depth() { depth = 100000 - ((y * 10) + (sprite_height * 10)); }
();
55
if (i_ex(shadow))
56
{
57
    shadow.image_alpha = (y > maxy) ? 0 : 1;
58
    shadow.image_index = image_index;
59
    shadow.x = x + ((sprite_width - shadow.sprite_width) / 2);
60
    shadow.y = y + ((sprite_height - shadow.sprite_height) / 2);
61
    var shadowScale = clamp((40 - (height / 2)) / 20, 0, 2);
62
    shadow.image_xscale = shadowScale;
63
    shadow.image_yscale = shadowScale;
64
}