Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_train_controller_Step_0

(view raw script w/o annotations or w/e)
1
if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
())
2
{
3
    if (keyboard_check_pressed(ord("A")))
4
    {
5
        if (extflag == "null")
6
            active = true;
7
    }
8
    if (keyboard_check_pressed(ord("N")))
9
        event_user(0);
10
    if (keyboard_check_pressed(ord("B")))
11
        do_reverse = true;
12
}
13
if (!active || reached_goal)
14
    exit;
15
if (do_reverse)
16
{
17
    for (var _t = 0; _t < train_piece_num; _t++)
18
    {
19
        var _train_piece = train_pieces[_t];
20
        with (_train_piece)
21
        {
22
            var _exit_angle = current_track_exit_angle;
23
            current_track_exit_angle = current_track_entrance_angle;
24
            current_track_entrance_angle = _exit_angle;
25
        }
26
    }
27
    reversing = !reversing;
28
    do_reverse = false;
29
}
30
for (var _t = 0; _t < train_piece_num; _t++)
31
{
32
    var _train_index = reversing ? (train_piece_num - 1 - _t) : _t;
33
    var _train_piece = train_pieces[_train_index];
34
    with (_train_piece)
35
        event_user(0);
36
    if (heartontrain && _train_index == 1)
37
    {
38
        obj_homealone_heart.freeze = 1;
39
        obj_homealone_heart.x = _train_piece.x - 5;
40
        obj_homealone_heart.y = _train_piece.y - 5;
41
        obj_homealone_heart.depth = _train_piece.depth - 1;
42
    }
43
    if (do_reverse || !active)
44
        break;
45
}