Deltarune script viewer

← back to main script listing

gml_GlobalScript_ease_in_elastic

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