Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_climb_camera_nudger_Step_2

(view raw script w/o annotations or w/e)
1
if (i_ex(obj_climb_kris))
2
{
3
    if (con == 0)
4
    {
5
        if (defaultbias == -4)
6
            defaultbias = obj_climb_kris.naturalybias;
7
        var skipcheck = false;
8
        if (permanent && ((obj_climb_kris.dir % 2) == 1 || obj_climb_kris.naturalybias == (nudge * (obj_climb_kris.dir - 1))))
9
            skipcheck = true;
10
        if (!skipcheck && place_meeting(x, y, obj_climb_kris))
11
            con = 1;
12
    }
13
    else if (con == 1)
14
    {
15
        if (permanent)
16
        {
17
            if ((obj_climb_kris.dir % 2) == 0)
18
            {
19
                if (obj_climb_kris.naturalybias != (nudge * (obj_climb_kris.dir - 1)))
20
                    
scr_lerpvar_instance
scr_lerpvar_instance

function
scr_lerpvar_instance()
{ __lerpvar = instance_create(0, 0, obj_lerpvar); __lerpvar.target = argument[0]; __lerpvar.varname = argument[1]; __lerpvar.pointa = argument[2]; __lerpvar.pointb = argument[3]; __lerpvar.maxtime = argument[4]; if (argument_count >= 6) __lerpvar.easetype = argument[5]; if (argument_count >= 7) __lerpvar.easeinout = argument[6]; return __lerpvar; } function scr_lerp_var_instance() { if (argument_count >= 6) return
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5);
else if (argument_count >= 7) return
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5, argument6);
else return
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4);
} function scr_lerp_instance_var() { if (argument_count >= 6) return
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5);
else if (argument_count >= 7) return
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5, argument6);
else return
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4);
}
(27, "naturalybias", obj_climb_kris.naturalybias, nudge * (obj_climb_kris.dir - 1), 30, 0, "out");
21
            }
22
            timer = 0;
23
            con = 3;
24
        }
25
        timer = clamp(0, 1, timer + 0.05);
26
        obj_climb_kris.naturalybias = lerp(defaultbias, nudge, timer);
27
        if (!place_meeting(x, y, obj_climb_kris))
28
            con = 2;
29
    }
30
    else if (con == 2)
31
    {
32
        timer = clamp(0, 1, timer - 0.05);
33
        if (timer == 0)
34
            con = 0;
35
        obj_climb_kris.naturalybias = lerp(defaultbias, nudge, timer);
36
        if (place_meeting(x, y, obj_climb_kris))
37
            con = 1;
38
    }
39
    else
40
    {
41
        timer++;
42
        if (timer >= 35)
43
            con = 0;
44
    }
45
}