Deltarune (Chapter 5) script viewer

← back to main script listing

gml_Object_obj_climb_flamefalling_Step_0

(view raw script w/o annotations or w/e)
1
if (init == 0)
2
{
3
    init = 1;
4
    predict_landy = y + ((30 * (movespeed + true_movespeed)) / 2);
5
}
6
if (global.interact == 0)
7
{
8
    if (dir == 0)
9
        y += true_movespeed;
10
    if (dir == 1)
11
        x += true_movespeed;
12
    if (dir == 2)
13
        y -= true_movespeed;
14
    if (dir == 3)
15
        x -= true_movespeed;
16
    draw_offset_x += draw_speed_x;
17
    bounce_timer--;
18
    var enemy = instance_place(x, y, obj_solidenemy);
19
    if (y > (last_bounce_y + 40) && enemy != -4 && y >= enemy.y)
20
    {
21
        last_bounce_y = enemy.y;
22
        draw_speed_x = -draw_speed_x;
23
        true_movespeed = -6;
24
        bouncedir = -bouncedir;
25
        
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ var _id = self; if (!is_struct(self)) _id = id; if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(_id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(_id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpcol() { if (argument_count < 6) ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3]); else ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]); return ___lerpvar; }
("x", x, x + (bounceshift * 40 * bouncedir), 16, 2, "inout");
26
    }
27
    true_movespeed = 
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; }
(true_movespeed, movespeed, 0.5);
28
    if (active && y > (last_bounce_y + 20))
29
    {
30
        var climbkris = collision_rectangle(x - 10, y - 20, x + 10, y + 10, obj_climb_kris, 0, 0);
31
        if (instance_exists(climbkris))
32
        {
33
            if (climbkris.damagecon == 0)
34
            {
35
                climbkris.damagecon = 1;
36
                lifetime = 1;
37
                active = 0;
38
            }
39
        }
40
    }
41
    lifetime--;
42
    if (lifetime == 0)
43
    {
44
        
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ var _id = self; if (!is_struct(self)) _id = id; if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(_id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(_id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpcol() { if (argument_count < 6) ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3]); else ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]); return ___lerpvar; }
("image_alpha", image_alpha, 0, 15);
45
        with (mylight)
46
            
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ var _id = self; if (!is_struct(self)) _id = id; if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(_id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(_id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpcol() { if (argument_count < 6) ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3]); else ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]); return ___lerpvar; }
("size", size, 0, 15);
47
        
scr_doom
scr_doom

function
scr_doom(arg0, arg1)
{ var _doom = instance_create_depth(0, 0, 0, obj_doom); with (_doom) { alarm[0] target = arg0; } return _doom; }
(id, 15);
48
        active = false;
49
    }
50
}