Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_cutscene_stairlooper_Step_0

(view raw script w/o annotations or w/e)
1
var rightloop = 0;
2
var leftloop = 0;
3
if (loop)
4
{
5
    if (type == 0)
6
    {
7
        if (obj_mainchara.x >= xpoint && obj_mainchara.x <= (xpoint + abs(xgobackamount)) && enteredloop == 0)
8
        {
9
            enteredloop = 1;
10
            legend_finish = false;
11
            if (parallel_cutscene && cutscene_object != -4)
12
            {
13
                dialogue_finish = false;
14
                cutscene = instance_create(x, y, cutscene_object);
15
                cutscene.looper = id;
16
            }
17
        }
18
        if (enteredloop == 1)
19
        {
20
            if (obj_mainchara.x >= (xpoint + abs(xgobackamount)))
21
                rightloop = 1;
22
            if (obj_mainchara.x <= xpoint)
23
                leftloop = 1;
24
        }
25
    }
26
    if (type == 1)
27
    {
28
        if (obj_mainchara.y >= ypoint && obj_mainchara.y <= (ypoint + abs(ygobackamount)) && enteredloop == 0)
29
        {
30
            enteredloop = 1;
31
            legend_finish = false;
32
            if (parallel_cutscene && cutscene_object != -4)
33
            {
34
                dialogue_finish = false;
35
                cutscene = instance_create(x, y, cutscene_object);
36
                cutscene.looper = id;
37
            }
38
        }
39
        if (enteredloop == 1)
40
        {
41
            if (obj_mainchara.y >= (ypoint + abs(ygobackamount)))
42
                rightloop = 1;
43
            if (obj_mainchara.y <= ypoint)
44
                leftloop = 1;
45
        }
46
    }
47
    if (enteredloop == 1 && (rightloop || leftloop))
48
    {
49
        var xback = xgobackamount;
50
        var yback = ygobackamount;
51
        if (leftloop)
52
        {
53
            xback = -xback;
54
            yback = -yback;
55
        }
56
        obj_mainchara.x += xback;
57
        obj_mainchara.y += yback;
58
        with (obj_caterpillarchara)
59
        {
60
            x += xback;
61
            y += yback;
62
            for (i = 0; i < 75; i += 1)
63
            {
64
                remx[i] += xback;
65
                remy[i] += yback;
66
            }
67
        }
68
        with (obj_dw_church_legender)
69
        {
70
            xx += xback;
71
            yy += yback;
72
        }
73
    }
74
    if (enteredloop)
75
    {
76
        if (dialogue_finish && legend_finish)
77
        {
78
            loop = 0;
79
            preventmenu = 0;
80
        }
81
    }
82
}
83
if (preventmenu == 1)
84
{
85
    global.flag[7 disable_menu?] = 1;
86
    with (obj_darkcontroller)
87
        threebuffer = 4;
88
}
89
if (global.flag[7 disable_menu?] == 1)
90
{
91
    if (preventmenu == 0)
92
        global.flag[7 disable_menu?] = 0;
93
}