Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_obj_beatbullet_Step_0

(view raw script w/o annotations or w/e)
1
if (snd_is_playing(global.currentsong[1]) && inSync == true)
2
{
3
    beats = audio_sound_get_track_position(global.currentsong[1]) / spb;
4
}
5
else
6
{
7
    inSync = false;
8
    beats += bpf;
9
}
10
if (abs(beats - beatsPrev) > 3)
11
    inSync = false;
12
beatsPrev = beats;
13
framesAway = (targetBeat - beats) / bpf;
14
var _percent = max(0, framesAway / frames);
15
var _yDiff = abs(ystart - endY);
16
y = ease_out_cubic(_percent, endY, -_yDiff, 1);
17
y = max(y, ystart);
18
if (image_alpha >= 1)
19
    active = 1;
20
else if (follow != -4)
21
    x = follow.x + targetX;
22
if (framesAway < (frames + fadeInSpeed))
23
    image_alpha = scr_approach
scr_approach

function scr_approach(arg0, arg1, arg2) { if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(image_alpha, 1, 1 / fadeInSpeed);
24
if (framesAway < frames)
25
{
26
    if (_percent <= 0)
27
        instance_destroy();
28
}
29
if (room == room_dw_cyber_maze_virokun && y >= 240)
30
{
31
    y = 240;
32
    instance_destroy();
33
}
34
if (room == room_dw_cyber_maze_rhythm && y > 2440)
35
{
36
    y = 2440;
37
    instance_destroy();
38
}