Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_b2greenx_Step_0

(view raw script w/o annotations or w/e)
1
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; } } }
();
2
scr_gameshow_populatevars
scr_gameshow_populatevars

function
scr_gameshow_populatevars()
{ if (!variable_instance_exists(id, "kr_real")) kr_real = 0; if (!variable_instance_exists(id, "su_real")) su_real = 0; if (!variable_instance_exists(id, "ra_real")) ra_real = 0; if (!variable_instance_exists(id, "tenna")) tenna = 0; if (kr_real == 0) { with (obj_mainchara) other.kr_real = id; } if (su_real == 0) { with (obj_caterpillarchara) { if (name == "susie") other.su_real = id; } } if (ra_real == 0) { with (obj_caterpillarchara) { if (name == "ralsei") other.ra_real = id; } } if (tenna == 0) { with (obj_actor_tenna) other.tenna = id; } }
();
3
if (active == 1)
4
{
5
    if (solved == 1 && !i_ex(solvedblock))
6
    {
7
        snd_play(snd_board_door_close);
8
        var xloc = 0;
9
        var yloc = 0;
10
        with (obj_board_b2greenblock)
11
        {
12
            if (boss)
13
            {
14
                xloc = x + 16;
15
                yloc = y + 16;
16
            }
17
        }
18
        solvedblock = instance_create(xloc, yloc, obj_b2_greenxsolve);
19
    }
20
    if (obj_board_camera.con == 0 && solved == 0)
21
    {
22
        checktimer++;
23
        var check = 0;
24
        with (obj_board_b2greenblock)
25
        {
26
            if (con == 0)
27
                check = 1;
28
        }
29
        if (check == 1)
30
        {
31
            with (obj_board_b2greenblock)
32
            {
33
                if (boss)
34
                    event_user(12);
35
            }
36
        }
37
    }
38
    if (con == 0 && obj_board_camera.con == 0)
39
    {
40
        if (resetbell == 0)
41
        {
42
            with (obj_board_resetbell)
43
            {
44
                if (extflag == "b2greenx")
45
                    other.resetbell = id;
46
            }
47
        }
48
        if (i_ex(resetbell))
49
        {
50
            if (resetbell.reset == true)
51
            {
52
                resetbell.reset = false;
53
                with (obj_board_b2greenblock)
54
                {
55
                    var ralseiBlock = instance_place(daddy.x, daddy.y, obj_pushableblock_board);
56
                    if (i_ex(ralseiBlock))
57
                    {
58
                        if (ralseiBlock.sprite_index != spr_ralsei_board_stoolforme)
59
                            ralseiBlock = -4;
60
                    }
61
                    var offset = 0;
62
                    if (ralseiBlock != -4)
63
                        offset = 32;
64
                    
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("x", x, daddy.x + offset, 15, -1, "out");
65
                    
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("y", y, daddy.y, 15, -1, "out");
66
                }
67
            }
68
        }
69
        if (suwalk == 0)
70
        {
71
            suwalk = 1;
72
            if (susie.x < 320)
73
                
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", 2, 3, 1);
74
            else
75
                
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", 9, 3, 3);
76
        }
77
        if (ralwalk == 0)
78
        {
79
            if (ralsei.x < 320)
80
                
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; } } } }
("ralsei", 2, 5, 1);
81
            else
82
                
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; } } } }
("ralsei", 9, 5, 3);
83
            ralwalk = 1;
84
        }
85
        if (kris.camera == 0)
86
        {
87
            with (obj_board_b2greenblock)
88
                pushcount = 0;
89
        }
90
        if (ralsubcon == 0)
91
        {
92
            var pushedcount = 0;
93
            with (obj_board_b2greenblock)
94
                pushedcount += pushcount;
95
            if (pushedcount >= 3)
96
            {
97
                ralsubcon = 1;
98
                ralsubtimer = 0;
99
            }
100
        }
101
        if (ralsubcon == 1 && obj_board_camera.con == 0)
102
        {
103
            refollow = 1;
104
            ralsubtimer++;
105
            if (ralsubtimer == 10 && ralhelptalk == 0)
106
                ralhelptalk = 1;
107
        }
108
        if (ralsubcon == 2 && obj_board_camera.con == 0)
109
        {
110
            var resetpoint = false;
111
            if (ralsei.is_moving && obj_board_camera.con == 0)
112
            {
113
                with (obj_pushableblock_board)
114
                    resetpoint += con;
115
            }
116
            if (resetpoint)
117
            {
118
                ralsubcon = 1;
119
                ralsubtimer = 0;
120
            }
121
            if (!resetpoint && ralsei.is_moving == false)
122
            {
123
                if (ralhelptalk == 1)
124
                    ralhelptalk = 2;
125
                ralsubcon++;
126
            }
127
        }
128
        if (ralhelptalk == 2 && active && obj_board_camera.con == 0 && !i_ex(obj_couchwriter))
129
            ralhelptalk = 3;
130
        if (solved == 1)
131
        {
132
            con = 1;
133
            with (resetbell)
134
            {
135
                snd_play(snd_link_secret);
136
                puff = instance_create(x, y, obj_board_smokepuff);
137
                puff.image_blend = #FFF200;
138
                instance_destroy();
139
            }
140
        }
141
    }
142
    if (con == 1 && obj_board_camera.con == 0)
143
    {
144
        if (global.flag[1040 got_hero_photo] == 1)
145
            endtimer++;
146
        if (endtimer >= 45)
147
            con++;
148
    }
149
    if (con == 2)
150
    {
151
        if (ralwalk == 0)
152
        {
153
        }
154
    }
155
    if (introtalk == 0 && !solved && obj_board_camera.con == 0)
156
    {
157
        introtimer++;
158
        if (introtimer == 10)
159
        {
160
            var sutalk = stringsetloc(
Those are some weird looking blocks.
"Those are some weird looking blocks.", "obj_b2greenx_slash_Step_0_gml_239_0"
);
161
            
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, 60);
162
        }
163
        if (introtimer == 70)
164
        {
165
            var tetalk = stringsetloc(
Those are no ordinary blocks! This room presents a challenge!
"Those are no ordinary blocks! This room presents a challenge!", "obj_b2greenx_slash_Step_0_gml_244_0"
);
166
            
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, 60);
167
        }
168
        if (introtimer == 130)
169
        {
170
            var ratalk = stringsetloc(
Oh, I think you can push these blocks around.
"Oh, I think you can push these blocks around.", "obj_b2greenx_slash_Step_0_gml_249_0"
);
171
            
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; }
(ratalk, "ralsei", 2, 60);
172
        }
173
        if (introtimer == 190)
174
        {
175
            var tetalk = stringsetloc(
See? He gets it!
"See? He gets it!", "obj_b2greenx_slash_Step_0_gml_254_0"
);
176
            
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, 60);
177
        }
178
        if (introtimer == 250)
179
        {
180
            introtalk = 1;
181
            introtimer = 0;
182
        }
183
    }
184
}
185
else
186
{
187
    if (introtalk == 0 && introtimer > 10)
188
        introtalk = 1;
189
    introtimer = 0;
190
    if (refollow == 1)
191
    {
192
        ralsei.follow = 1;
193
        refollow = 0;
194
    }
195
    if (ralsubcon > 0)
196
        ralsubcon = 1;
197
    ralsubtimer = 0;
198
    ralwalk = 0;
199
    var check = 0;
200
}
201
if (active && obj_board_camera.con == 0)
202
{
203
    if (suwalk == 0 && solved)
204
    {
205
        suwalktimer++;
206
        if (suwalktimer == 1)
207
            ralsei.follow = true;
208
        if (suwalktimer >= 15)
209
        {
210
            suwalk = 1;
211
            var xloc = 2;
212
            var yloc = 3;
213
            var face = 0;
214
            var rand = irandom(5);
215
            rand = 0;
216
            switch (rand)
217
            {
218
                case 0:
219
                    xloc = irandom(2) + 1;
220
                    yloc = irandom(5) + 1;
221
                    face = 0;
222
                    break;
223
                case 1:
224
                    xloc = 8;
225
                    yloc = 5;
226
                    face = 0;
227
                    break;
228
                case 2:
229
                    xloc = 7;
230
                    yloc = 1;
231
                    face = 0;
232
                    break;
233
                case 3:
234
                    xloc = 10;
235
                    yloc = choose(5, 6);
236
                    face = spr_trashball;
237
                    break;
238
                case 4:
239
                    xloc = 9;
240
                    yloc = choose(1, 2);
241
                    face = spr_trashball;
242
                    break;
243
            }
244
            
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", xloc, yloc, face);
245
        }
246
    }
247
}
248
if (!active)
249
{
250
    suwalk = 0;
251
    suwalktimer = 0;
252
}