Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_traintrack_moving_corner_Step_0

(view raw script w/o annotations or w/e)
1
if (con == 0)
2
{
3
    if (do_switch)
4
    {
5
        for (var i = 0; i < array_length(track); i++)
6
            safe_delete(track[i]);
7
        if (track_angle_target == image_angle)
8
            track_angle_target = image_angle - 90;
9
        else
10
            track_angle_target = image_angle;
11
        snd_play_pitch(snd_wing, 1.8);
12
        timer = 0;
13
        con = 1;
14
    }
15
}
16
if (con == 1)
17
{
18
    timer++;
19
    track_angle = lerp(track_angle, track_angle_target, timer / transitiontime);
20
    if (timer == transitiontime)
21
    {
22
        con = 2;
23
        timer = 0;
24
        snd_play_pitch(snd_wing, 1.2);
25
    }
26
}
27
if (con == 2)
28
{
29
    for (var i = 0; i < 3; i++)
30
    {
31
        var _tx = (center_x + lengthdir_x(i * 10, track_angle)) - 5;
32
        var _ty = (center_y + lengthdir_y(i * 10, track_angle)) - 5;
33
        if ((track_angle % 180) == 0)
34
            track[i] = instance_create_depth(_tx, _ty, depth - 1, obj_traintrack_straight_horizontal);
35
        else
36
            track[i] = instance_create_depth(_tx, _ty, depth - 1, obj_traintrack_straight_vertical);
37
        track[i].visible = false;
38
    }
39
    con = 0;
40
}