Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_addvar_Step_0

(view raw script w/o annotations or w/e)
1
if (i_ex(target))
2
{
3
    if (init == 0)
4
    {
5
        if (is_string(pointa))
6
            pointa = variable_instance_get(target, varname);
7
        init = 1;
8
    }
9
    var cont = 1;
10
    if (respectglobalinteract == true)
11
    {
12
        if (global.interact != 0)
13
            cont = 0;
14
    }
15
    if (cont)
16
        time++;
17
    var _value = variable_instance_get(target, varname);
18
    var _change = 0;
19
    if (easetype == 0)
20
    {
21
        _change = lerp(pointa, pointb, time / maxtime);
22
    }
23
    else
24
    {
25
        if (easeinout == "out")
26
            _change = lerp_ease_out(pointa, pointb, time / maxtime, easetype);
27
        if (easeinout == "in")
28
            _change = lerp_ease_in(pointa, pointb, time / maxtime, easetype);
29
        if (easeinout == "inout")
30
            _change = lerp_ease_inout(pointa, pointb, time / maxtime, easetype);
31
    }
32
    if (roundvar)
33
    {
34
        if (roundtype > 0)
35
            _change = ceil(_change);
36
        else if (roundtype < 0)
37
            _change = floor(_change);
38
        else
39
            _change = round(_change);
40
    }
41
    variable_instance_set(target, varname, _value + _change);
42
    if (time >= maxtime)
43
        instance_destroy();
44
}
45
else
46
{
47
    instance_destroy();
48
}