Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_pendulum_Step_0

(view raw script w/o annotations or w/e)
1
event_inherited();
2
if (cut == false)
3
{
4
    timer++;
5
    if (angle < 270)
6
        angle_spd += 0.1;
7
    else if (angle > 270)
8
        angle_spd -= 0.1;
9
    angle += angle_spd;
10
    if (timer < 25)
11
        extend_spd = 
scr_approach_curve
scr_approach_curve

function
scr_approach_curve(arg0, arg1, arg2, arg3 = 0.1)
{ return
scr_approach(arg0, arg1, max(arg3, abs(arg1 - arg0) / arg2));
}
(extend_spd, 20, 14);
12
    else if (timer < 32)
13
        extend_spd = 
scr_approach_curve
scr_approach_curve

function
scr_approach_curve(arg0, arg1, arg2, arg3 = 0.1)
{ return
scr_approach(arg0, arg1, max(arg3, abs(arg1 - arg0) / arg2));
}
(extend_spd, -5, 3);
14
    else if (timer < 36)
15
        extend_spd = 
scr_approach_curve
scr_approach_curve

function
scr_approach_curve(arg0, arg1, arg2, arg3 = 0.1)
{ return
scr_approach(arg0, arg1, max(arg3, abs(arg1 - arg0) / arg2));
}
(extend_spd, 3, 3);
16
    else if (timer < 40)
17
        extend_spd = 
scr_approach_curve
scr_approach_curve

function
scr_approach_curve(arg0, arg1, arg2, arg3 = 0.1)
{ return
scr_approach(arg0, arg1, max(arg3, abs(arg1 - arg0) / arg2));
}
(extend_spd, 0, 3);
18
    if (timer < 45)
19
        extend += extend_spd;
20
    x = centre_x + lengthdir_x(extend, angle);
21
    y = centre_y + lengthdir_y(extend, angle);
22
    if ((timer % 4) == 0)
23
        grazed = false;
24
    if (timer >= 45)
25
        extend = 
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; }
(extend, point_distance(centre_x, centre_y, obj_heart.x, obj_heart.y), 1);
26
    if (collision_line(x + lengthdir_x(10, angle + 180), y + lengthdir_y(10, angle + 180), centre_x, centre_y, obj_saw, true, true))
27
    {
28
        cut = true;
29
        vspeed = y - yprevious;
30
        hspeed = x - xprevious;
31
        gravity = 0.35;
32
    }
33
}