Deltarune script viewer

← back to main script listing

gml_GlobalScript_ease_out_elastic

(view raw script w/o annotations or w/e)
1
function ease_out_elastic(arg0, arg1, arg2, arg3)
2
{
3
    var _s = 1.70158;
4
    var _p = 0;
5
    var time = arg0;
6
    var start = arg1;
7
    var change = arg2;
8
    var duration = arg3;
9
    if (time == 0 || change == 0)
10
        return start;
11
    time /= duration;
12
    if (time == 1)
13
        return start + arg2;
14
    if (!_p)
15
        _p = duration * 0.3;
16
    if (change < abs(arg2))
17
    {
18
        change = arg2;
19
        _s = _p * 0.25;
20
    }
21
    else
22
    {
23
        _s = (_p / (2 * pi)) * arcsin(arg2 / change);
24
    }
25
    return (change * power(2, -10 * time) * sin((((time * duration) - _s) * (2 * pi)) / _p)) + arg2 + start;
26
}