Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_b1controls_Step_0

(view raw script w/o annotations or w/e)
1
if (su == 0)
2
{
3
    with (obj_mainchara_board)
4
    {
5
        if (name == "susie")
6
            other.su = id;
7
    }
8
}
9
scr_board_populatevars
scr_board_populatevars

function
scr_board_populatevars()
{ if (!variable_instance_exists(id, "kris")) kris = 0; if (!variable_instance_exists(id, "susie")) susie = 0; if (!variable_instance_exists(id, "ralsei")) ralsei = 0; if (kris == 0) { with (obj_mainchara_board) { if (name == "kris") other.kris = id; } } if (ralsei == 0) { with (obj_mainchara_board) { if (name == "ralsei") other.ralsei = id; } } if (susie == 0) { with (obj_mainchara_board) { if (name == "susie") other.susie = id; } } }
();
10
if (init == 0)
11
{
12
    if (i_ex(obj_board_tree_static))
13
    {
14
        var image_ind = obj_board_tree_static.image_index;
15
        tree[0] = instance_create(x + 192, y + 64, obj_board_tree_static);
16
        tree[1] = instance_create(x + 192, y + 96, obj_board_tree_static);
17
        tree[0].image_index = image_ind;
18
        tree[1].image_index = image_ind;
19
        key = instance_create(1184, 512, obj_board_pickup);
20
        with (key)
21
            setxy_board(x, y);
22
        init = 1;
23
    }
24
}
25
if (init == 1)
26
{
27
    if (!i_ex(key) && global.interact == 0 && !bw_ex())
28
    {
29
        for (var i = 0; i < array_length(tree); i++)
30
        {
31
            with (tree[i])
32
            {
33
                instance_create(x, y, obj_board_smokepuff);
34
                instance_destroy();
35
            }
36
            snd_play(snd_board_splash);
37
        }
38
        
scr_board_gridreset
scr_board_gridreset

function
scr_board_gridreset()
{ with (obj_board_controller) grid_reset = true; }
();
39
        with (obj_board_grabbleObject)
40
            cangrab = true;
41
        potsaresafe = true;
42
        with (su)
43
            scr_delay_var("graballpots", true, 15);
44
        init = 2;
45
    }
46
}
47
if (kris_real == 0)
48
    kris_real = 1185;
49
if (susie_real == 0)
50
{
51
    with (obj_caterpillarchara)
52
    {
53
        if (name == "susie")
54
            other.susie_real = id;
55
    }
56
}
57
if (ralsei_real == 0)
58
{
59
    with (obj_caterpillarchara)
60
    {
61
        if (name == "ralsei")
62
            other.ralsei_real = id;
63
    }
64
}
65
if (tenna == 0)
66
{
67
    with (obj_actor_tenna)
68
        other.tenna = id;
69
}
70
if (active == 1)
71
{
72
    if (obj_board_camera.con == 0)
73
        timer++;
74
    if (suwalk == 0 && obj_board_camera.con == 0)
75
    {
76
        suwalktimer++;
77
        if (suwalktimer == 1)
78
        {
79
            
scr_pathfind_end
scr_pathfind_end

function
scr_pathfind_end(arg0)
{ with (obj_mainchara_board) { if (name == arg0) { path_end(); path_target_x = -1; path_target_y = -1; is_moving_timer = 0; is_moving = false; } } }
("ralsei");
80
            
scr_pathfind_end
scr_pathfind_end

function
scr_pathfind_end(arg0)
{ with (obj_mainchara_board) { if (name == arg0) { path_end(); path_target_x = -1; path_target_y = -1; is_moving_timer = 0; is_moving = false; } } }
("susie");
81
            with (obj_mainchara_board)
82
            {
83
                if (name == "ralsei")
84
                    follow = true;
85
            }
86
        }
87
        if (suwalktimer == 8)
88
        {
89
            visit++;
90
            su.sleepy = true;
91
            su.graballpots = false;
92
            var config = -2;
93
            var canlift = global.flag[1020 got_power_croissant];
94
            var quizdone = obj_board_event_sphinx_tenna.solved;
95
            var blockslifted = !i_ex(tree[0]);
96
            if (su.x < 364)
97
                config = 0;
98
            else
99
                config = 1;
100
            var potsfound = 0;
101
            with (obj_board_grabbleObject)
102
            {
103
                if (other.potsaresafe == false)
104
                {
105
                    if (config == 0)
106
                    {
107
                        if (x > 364)
108
                            cangrab = false;
109
                    }
110
                    if (config == 1)
111
                    {
112
                        if (x < 364)
113
                            cangrab = false;
114
                    }
115
                }
116
                if (
scr_board_onscreen
scr_board_onscreen

function
scr_board_onscreen()
{ if (x >= 128 && x < 512 && y >= 64 && y <= 320) return 1; else return 0; }
() && cangrab)
117
                    potsfound++;
118
            }
119
            grabset = true;
120
            if (potsfound && canlift)
121
                su.graballpots = true;
122
            if (su.y == 64)
123
            {
124
                if (visit == 1)
125
                {
126
                    
scr_play_recording
scr_play_recording

function
scr_play_recording(arg0, arg1)
{ with (obj_mainchara_board) { if (name == arg0) { susierecordcon = 2; susierecordcount = 0; susierecordstring = arg1; susierecordsave = false; } } }
("susie", "0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0D0D0D0D0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0LD0LD0D0D0D0D0D0D0D0D0W0W0W0W0W0U0U0U0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0RD0RD0RD0D0D0D0D0D0D0D0D0D0D0D0LD0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0W0R0R0R0R0R0R0RD0RD0D0D0D0D0D0D0D0D0D0LD0LD0L0L0L0L0L0L0L0L0L0L0L0L0L0L0W0W0W0D0D0D0D0D0D0D0D0D0D0D0LD0LD0L0L0L0L0L0L0L0U0U0U0U0U0U0U0U0W0W0W0W0W0W0W0W0W0W0W0W0W0D0D0D0D0D0D0D0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R");
127
                }
128
                else
129
                {
130
                    var suwalk1 = "0W0W0W0W0W0W0W0D0D0D0D0D0D0D0D0D0D0LD0LD0LD0LD0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0LD0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0RD0RD0R0R0R0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W";
131
                    var suwalk2 = "0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0LD0LD0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0LD0LD0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0R0R0R0R0R0R0R0R0R0R0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W";
132
                    
scr_play_recording
scr_play_recording

function
scr_play_recording(arg0, arg1)
{ with (obj_mainchara_board) { if (name == arg0) { susierecordcon = 2; susierecordcount = 0; susierecordstring = arg1; susierecordsave = false; } } }
("susie", choose(suwalk1, suwalk2));
133
                }
134
            }
135
            if (su.y == 288)
136
            {
137
                var suwalk1 = "0W0W0W00W0W0W0L0L0L0L0L0L0L0L0U0U0U0U0U0U0U0U0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0U0W0W0W00W0W0W00W0W0W00W0W0W0W0W0W0W0W0R0R0R0R0R0R0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0W0W0W0W0W0R0R0R0R0R0R0W0W0W0W0D0D0D0D0D0D0D0D0D0D0D0W0W0W0W00W0W0W00W0W0W00W0W0W0W0W0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0W0W0W0W0W0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0W0W0W0W0W0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0R0R0R0R0W0W0W0W0W0W0W0W0W";
138
                
scr_play_recording
scr_play_recording

function
scr_play_recording(arg0, arg1)
{ with (obj_mainchara_board) { if (name == arg0) { susierecordcon = 2; susierecordcount = 0; susierecordstring = arg1; susierecordsave = false; } } }
("susie", suwalk1);
139
            }
140
            if (su.x == 128)
141
            {
142
                var su_east3 = "0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0W0R0R0R0R0R0R0R0R0R0R0W0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0W0W0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W";
143
                var su_east1 = "0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0D0D0D0D0D0D0RD0RD0RD0RD0RD0RD0RD0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0RD0RD0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W";
144
                var su_east2 = "0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0RU0RU0RU0RU0RU0RU0R0R0R0RU0U0U0U0U0U0U0U0U0U0U0U0U0U0U0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W";
145
                
scr_play_recording
scr_play_recording

function
scr_play_recording(arg0, arg1)
{ with (obj_mainchara_board) { if (name == arg0) { susierecordcon = 2; susierecordcount = 0; susierecordstring = arg1; susierecordsave = false; } } }
("susie", choose(su_east1, su_east2, su_east3));
146
            }
147
        }
148
    }
149
    if (suwalk == 480)
150
    {
151
        
scr_pathfind_to_point
scr_pathfind_to_point

function
scr_pathfind_to_point(arg0, arg1, arg2)
{ var __destx = arg1 + 16; var __desty = arg2 + 16; if (arg1 < 12 && arg2 < 8) { __destx = 128 + (32 * arg1) + 16; __desty = 64 + (32 * arg2) + 16; } with (obj_mainchara_board) { if (name == arg0) { path_end(); is_moving_timer = 0; is_moving = true; path_target_x = __destx; path_target_y = __desty; follow = false; if (argument_count == 4) { if (argument3 != -1) path_end_facing = argument3; } if (argument_count == 5) { if (argument4 != -1) allow_diagonals = argument4; } } } }
("susie", choose(8, 9, 10), choose(1, 2, 3), 0);
152
        suwalk++;
153
    }
154
    if (suwalk == 490)
155
    {
156
        var dopots = false;
157
        with (obj_board_grabbleObject)
158
        {
159
            if (x >= 320 && x < 512 && y >= 64 && y <= 320)
160
                dopots++;
161
        }
162
        if (!dopots && !i_ex(obj_board_grabobject))
163
        {
164
            su.graballpots = false;
165
            suwalk = 480;
166
        }
167
    }
168
    if (talkcon == 0 && obj_board_camera.con == 0 && visit == 1)
169
    {
170
        if (global.interact == 0)
171
            talktimer++;
172
        if (talktimer == 190)
173
        {
174
            var sutalk = stringsetloc(
Dude, I can't kill the pots.
"Dude, I can't kill the pots.", "obj_b1controls_slash_Step_0_gml_174_0"
);
175
            
scr_couchtalk
scr_couchtalk

function scr_couchclear(arg0) { with (obj_couchwriter) { if (speaker == arg0) instance_destroy(); } } function
scr_couchtalk(arg0, arg1)
{ var ix = -1; var iy = -1; if (argument_count >= 6) { ix = argument4; iy = argument5; } var couchtext = instance_create_depth(ix, iy, 5000, obj_couchwriter); couchtext.mystring = arg0; couchtext.speaker = arg1; if (argument_count >= 3) couchtext.cleartext = argument2; if (argument_count >= 4) couchtext.drawtime = argument3; if (argument_count >= 7) couchtext.customsnd = argument6; if (argument_count >= 8) couchtext.customcolor = argument7; if (argument_count >= 9) couchtext.talkrate = argument8; if (argument_count >= 10) couchtext.talklength = argument9; return couchtext; }
(sutalk, "susie", 2, 90);
176
            talkcon = 1;
177
        }
178
    }
179
    if (visit > 1)
180
        talkcon = 1;
181
}
182
else
183
{
184
    if (grabset == true)
185
    {
186
        grabset = false;
187
        with (obj_board_grabbleObject)
188
            cangrab = true;
189
    }
190
    if (talkcon > 0)
191
        talkcon = -1;
192
    con = 0;
193
    timer = 0;
194
    suwalk = 0;
195
    suwalktimer = 0;
196
    talktimer = 0;
197
    specialpots = false;
198
    sugetpotplz = 0;
199
}
200
if (active && obj_board_camera.con == 0)
201
{
202
    if (nothrow == 1)
203
    {
204
        var trig = 0;
205
        with (obj_board_trigger)
206
        {
207
            if (extflag == "nothrow")
208
            {
209
                if (place_meeting(x, y, obj_mainchara_board))
210
                    trig = 1;
211
            }
212
        }
213
        if (trig)
214
        {
215
            var tetalk = stringsetloc(
Your prize awaits beyond these pots! If only you had a special skill!
"Your prize awaits beyond these pots! If only you had a special skill!", "obj_b1controls_slash_Step_0_gml_204_0"
);
216
            
scr_couchtalk
scr_couchtalk

function scr_couchclear(arg0) { with (obj_couchwriter) { if (speaker == arg0) instance_destroy(); } } function
scr_couchtalk(arg0, arg1)
{ var ix = -1; var iy = -1; if (argument_count >= 6) { ix = argument4; iy = argument5; } var couchtext = instance_create_depth(ix, iy, 5000, obj_couchwriter); couchtext.mystring = arg0; couchtext.speaker = arg1; if (argument_count >= 3) couchtext.cleartext = argument2; if (argument_count >= 4) couchtext.drawtime = argument3; if (argument_count >= 7) couchtext.customsnd = argument6; if (argument_count >= 8) couchtext.customcolor = argument7; if (argument_count >= 9) couchtext.talkrate = argument8; if (argument_count >= 10) couchtext.talklength = argument9; return couchtext; }
(tetalk, "tenna", 2, 90);
217
            tenna.bounce = 1;
218
            nothrow = 2;
219
        }
220
    }
221
}