Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_dw_changing_room_stars_Step_0

(view raw script w/o annotations or w/e)
1
siner += 0.02;
2
for (var i = 0; i < array_length_1d(star); i++)
3
{
4
    star[i].x = star[i].xstart + sin(siner) + (i * 0.1);
5
    star[i].y = star[i].ystart + cos(siner) + (i * 0.1);
6
}
7
if (!star_event)
8
    exit;
9
if (!star_fall)
10
{
11
    loose_star.x = loose_star.xstart + sin(siner) + 0.8;
12
    loose_star.y = loose_star.ystart + cos(siner) + 0.8;
13
    if (!entered_zone)
14
    {
15
        if (point_in_rectangle(obj_mainchara.x, obj_mainchara.y, loose_star.xstart - 20, loose_star.ystart, loose_star.xstart + 20, loose_star.ystart + 40))
16
            entered_zone = true;
17
    }
18
    else if (!point_in_rectangle(obj_mainchara.x, obj_mainchara.y, loose_star.xstart - 80, loose_star.ystart, loose_star.xstart + 80, loose_star.ystart + 80))
19
    {
20
        star_fall = true;
21
        entered_zone = false;
22
    }
23
}
24
if (star_fall)
25
{
26
    star_fall_timer++;
27
    if (star_fall_timer == 1)
28
    {
29
        with (loose_star)
30
            
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("y", ystart, 188, 15, 4, "in");
31
    }
32
    if (star_fall_timer == 12)
33
        snd_play_x(snd_splat, 1, 1.2);
34
    if (star_fall_timer == 16)
35
    {
36
        
scr_flag_set
scr_flag_set

function
scr_flag_set(arg0, arg1)
{ global.flag[arg0] = arg1; }
(1027, 1);
37
        star_event = false;
38
        with (loose_star)
39
            visible = 0;
40
        floor_cover.visible = 0;
41
    }
42
}