Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_ch3_man_controller_Step_2

(view raw script w/o annotations or w/e)
1
var checkend = 0;
2
if (endcon == 0)
3
{
4
    with (obj_mainchara)
5
    {
6
        if (place_meeting(x, y, obj_triggervolume))
7
            checkend = 1;
8
    }
9
}
10
originX = layer_get_x(tileLayer);
11
originY = layer_get_y(tileLayer);
12
if (movestep == 0)
13
{
14
    if (obj_mainchara.x < 0)
15
        shift = "right";
16
    if (obj_mainchara.x > 612)
17
        shift = "left";
18
    if (obj_mainchara.y < 0)
19
        shift = "up";
20
    if (obj_mainchara.y > 406)
21
        shift = "down";
22
    if (shift != 0)
23
    {
24
        global.interact = 1;
25
        movestep = 1;
26
    }
27
}
28
if (movestep == 1)
29
{
30
    if (shift == "right")
31
    {
32
        movespeed = 32;
33
        if (moving != 640)
34
        {
35
            for (var i = 0; i < movealllength; i++)
36
            {
37
                with (moveall[i].object_index)
38
                    x += other.movespeed;
39
            }
40
            with (obj_mainchara)
41
                x += 30;
42
            layer_x(tileLayer, layer_get_x(tileLayer) + movespeed);
43
            moving += movespeed;
44
        }
45
        else
46
        {
47
            movestep = 999;
48
        }
49
    }
50
    if (shift == "left")
51
    {
52
        if (!checkend)
53
        {
54
            movespeed = 32;
55
            if (moving != 640)
56
            {
57
                for (var i = 0; i < movealllength; i++)
58
                {
59
                    with (moveall[i].object_index)
60
                        x -= other.movespeed;
61
                }
62
                with (obj_mainchara)
63
                    x -= 30;
64
                layer_x(tileLayer, layer_get_x(tileLayer) - movespeed);
65
                moving += movespeed;
66
            }
67
            else
68
            {
69
                movestep = 999;
70
            }
71
        }
72
        else
73
        {
74
            endcon = 1;
75
            movestep = 42069;
76
        }
77
    }
78
    if (shift == "up")
79
    {
80
        movespeed = 24;
81
        if (moving != 480)
82
        {
83
            moving += movespeed;
84
            for (var i = 0; i < movealllength; i++)
85
            {
86
                with (moveall[i].object_index)
87
                    y += other.movespeed;
88
            }
89
            with (obj_mainchara)
90
                y += 20;
91
            layer_y(tileLayer, layer_get_y(tileLayer) + movespeed);
92
        }
93
        else
94
        {
95
            movestep = 999;
96
        }
97
    }
98
    if (shift == "down")
99
    {
100
        movespeed = 24;
101
        if (moving != 480)
102
        {
103
            moving += movespeed;
104
            for (var i = 0; i < movealllength; i++)
105
            {
106
                with (moveall[i].object_index)
107
                    y -= other.movespeed;
108
            }
109
            with (obj_mainchara)
110
                y -= 20;
111
            layer_y(tileLayer, layer_get_y(tileLayer) - movespeed);
112
        }
113
        else
114
        {
115
            movestep = 999;
116
        }
117
    }
118
    if (shift == "warp")
119
    {
120
        global.interact = 1;
121
        movestep = 90;
122
        camtimer = 0;
123
    }
124
}
125
if (movestep == 90)
126
{
127
    camtimer++;
128
    if (camtimer == 15)
129
    {
130
        var moveX = -warpx - originX;
131
        var moveY = -warpy - originY;
132
        with (obj_mainchara)
133
            setxy(other.playerx + other.originX, other.playery + other.originY);
134
        with (obj_mainchara)
135
            setxy(x + moveX, y + moveY);
136
        for (var i = 0; i < movealllength; i++)
137
        {
138
            with (moveall[i].object_index)
139
                setxy(x + moveX, y + moveY);
140
        }
141
        layer_x(tileLayer, layer_get_x(tileLayer) + moveX);
142
        layer_y(tileLayer, layer_get_y(tileLayer) + moveY);
143
    }
144
    if (camtimer == 35)
145
        movestep = 999;
146
}
147
if (movestep == 999)
148
{
149
    global.interact = 0;
150
    movestep = 0;
151
    shift = 0;
152
    moving = 0;
153
}
154
if (endcon == 1)
155
{
156
    instance_create(x, y, obj_ch3_dw_man_scenetransition_persistent);
157
    global.interact = 1;
158
    endcon = 2;
159
}