Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_obj_beatbullet_2_Step_0

(view raw script w/o annotations or w/e)
1
var _shouldActivate = false;
2
with (obj_mainchara)
3
{
4
    _shouldActivate = false;
5
    if (battlemode == 1)
6
        _shouldActivate = true;
7
}
8
shouldActivate = _shouldActivate;
9
if (shouldActivate == true && framesAway > frames)
10
    readyToGo = true;
11
if (snd_is_playing(global.currentsong[1]) && inSync == true)
12
{
13
    var _prevBeats = beats;
14
    beats = audio_sound_get_track_position(global.currentsong[1]) / spb;
15
    if (beats < _prevBeats)
16
    {
17
        targetBeat -= beatMax;
18
        forgiveLoop = true;
19
    }
20
}
21
else
22
{
23
    inSync = false;
24
    beats += bpf;
25
}
26
if (abs(beats - beatsPrev) > 3)
27
{
28
    if (!forgiveLoop)
29
        inSync = false;
30
    else
31
        forgiveLoop = false;
32
}
33
beatsPrev = beats;
34
framesAway = (targetBeat - beats) / bpf;
35
var _percent = max(0, framesAway / frames);
36
if (!horizontal)
37
{
38
    var _yDiff = abs(ystart - endY);
39
    y = ease_out_cubic(_percent, endY, -_yDiff, 1);
40
    y = max(y, ystart);
41
}
42
else
43
{
44
    var _yDiff = abs(xstart - endY);
45
    x = ease_out_cubic(_percent, endY, -_yDiff, 1);
46
    x = max(x, xstart);
47
}
48
if (image_alpha >= 1)
49
{
50
    active = 1;
51
}
52
else
53
{
54
    if (follow != -4)
55
        x = follow.x + targetX;
56
    active = false;
57
}
58
if (framesAway < (frames + fadeInSpeed) && readyToGo)
59
    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);
60
if (!readyToGo)
61
    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, 0, 1 / fadeInSpeed);
62
if (framesAway < frames)
63
{
64
    if (_percent <= 0)
65
    {
66
        if (active)
67
        {
68
            if (global.flag[8 simplify_vfx] == 0)
69
            {
70
                var flash = instance_create_depth(x, y, depth, obj_beatflash);
71
                flash.image_xscale = sprite_width;
72
                flash.image_yscale = (1 / sprite_height) * 300;
73
                flash.image_angle = image_angle;
74
            }
75
        }
76
        image_alpha = 0;
77
        readyToGo = false;
78
        if (shouldActivate)
79
            readyToGo = true;
80
        if (looping != 0)
81
            targetBeat += looping;
82
        active = 0;
83
    }
84
}