Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_traintrack_moving_center_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
        snd_play_pitch(snd_wing, 1.8);
8
        if (track_angle_target == image_angle)
9
            track_angle_target = image_angle + 90;
10
        else
11
            track_angle_target = image_angle;
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
    track_angle %= 360;
30
    track_angle_target = track_angle;
31
    for (var i = 0; i < 3; i++)
32
    {
33
        var _tx = (center_x + lengthdir_x((i - 1) * 10, track_angle)) - 5;
34
        var _ty = (center_y + lengthdir_y((i - 1) * 10, track_angle)) - 5;
35
        if ((track_angle % 180) == 0)
36
            track[i] = instance_create_depth(_tx, _ty, depth - 1, obj_traintrack_straight_horizontal);
37
        else
38
            track[i] = instance_create_depth(_tx, _ty, depth - 1, obj_traintrack_straight_vertical);
39
        track[i].visible = false;
40
    }
41
    con = 0;
42
}