Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_b2bombfun_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 (init == 0)
4
{
5
    nonoblock = instance_create(3360, 1340, obj_board_solid);
6
    with (nonoblock)
7
    {
8
        image_xscale = 2;
9
        setxy_board();
10
    }
11
    breaktrig = instance_create(3200, 1216, obj_board_event_push1_blocktrigger);
12
    with (breaktrig)
13
    {
14
        
scr_darksize
scr_darksize

function
scr_darksize()
{ var inst = id; if (argument_count) inst = argument0; inst.image_xscale = 2; inst.image_yscale = 2; }
();
15
        setxy_board();
16
    }
17
    init = 1;
18
}
19
if (active == 1)
20
{
21
    if (breaksafe == 0 && init && obj_board_camera.con == 0)
22
    {
23
        if (i_ex(breaktrig))
24
        {
25
            with (breaktrig)
26
            {
27
                if (place_meeting(x, y, obj_board_puzzlebombbullet))
28
                {
29
                    safe_delete(other.nonoblock);
30
                    other.breaksafe = 1;
31
                }
32
            }
33
        }
34
    }
35
    if (obj_board_camera.con == 0 && suwalk == 0)
36
    {
37
        if (global.flag[1190 control_unjumble] == 1)
38
        {
39
            suwalktimer++;
40
            if (suwalktimer == 1)
41
                ralsei.follow = true;
42
            if (suwalktimer == 16)
43
            {
44
                susie.sleepy = true;
45
                
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", 6, 6, 0);
46
            }
47
        }
48
    }
49
    if (con == 0 && obj_board_camera.con == 0)
50
    {
51
        if (visit == 0)
52
        {
53
            visited = 1;
54
            if (global.flag[1190 control_unjumble] == 0)
55
            {
56
            }
57
            obj_b2bombfun2.bombfun1visited = 1;
58
            visit = 1;
59
        }
60
        if (global.flag[1190 control_unjumble] == 0)
61
        {
62
            tempblock = instance_create_board(1, 3, obj_board_solid);
63
            with (obj_mainchara_board)
64
                controlled = false;
65
            susie.controlled = true;
66
            ralsei.follow = false;
67
            kris.camera = true;
68
            con = 1;
69
            timer = 0;
70
        }
71
        else
72
        {
73
            con = 1;
74
            timer = 11;
75
        }
76
    }
77
    if (con == 1)
78
    {
79
        timer++;
80
        if (timer == 5)
81
            
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", 1, 6, 1);
82
        if (timer == 10)
83
            
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; } } } }
("kris", 10, 6, 2);
84
        if (timer > 10)
85
        {
86
            if (obj_b2bombfunswitch.pressed == true)
87
            {
88
                con = 2;
89
                timer = 0;
90
            }
91
        }
92
    }
93
    if (con == 2)
94
    {
95
        checkleave = 1;
96
        block = instance_create_board(1, 4, obj_board_breakableblock);
97
        with (block)
98
        {
99
            puzzleid = 301;
100
            made = false;
101
            active = true;
102
            
scr_depth_board
scr_depth_board

function
scr_depth_board()
{ depth = 1000000 - ((y * 10) + ((sprite_height - sprite_yoffset) * 10)); } function scr_board_depth() {
scr_depth_board();
}
();
103
            
scr_darksize
scr_darksize

function
scr_darksize()
{ var inst = id; if (argument_count) inst = argument0; inst.image_xscale = 2; inst.image_yscale = 2; }
();
104
            setxy_board(3232, 1216);
105
            if (place_meeting(x, y, obj_mainchara_board))
106
            {
107
                with (instance_place(x, y, obj_mainchara_board))
108
                    y = other.y + 16;
109
            }
110
            puff = instance_create(x, y, obj_board_smokepuff);
111
        }
112
        if (global.flag[1190 control_unjumble] == 0)
113
        {
114
            with (obj_mainchara_board)
115
                controlled = 0;
116
        }
117
        con = 3;
118
    }
119
    if (con == 3)
120
    {
121
        timer++;
122
        if (timer == 1)
123
        {
124
            with (obj_b2enemysquabble)
125
                makePathBlockers = 1;
126
            instance_create_board(3, 2, obj_board_grabbablebomb);
127
            instance_create_board(3, 4, obj_board_grabbablebomb);
128
            instance_create_board(5, 2, obj_board_grabbablebomb);
129
            instance_create_board(5, 4, obj_board_grabbablebomb);
130
            instance_create_board(6, 2, obj_board_grabbablebomb);
131
            instance_create_board(6, 4, obj_board_grabbablebomb);
132
            instance_create_board(8, 2, obj_board_grabbablebomb);
133
            instance_create_board(8, 4, obj_board_grabbablebomb);
134
            with (obj_board_grabbablebomb)
135
            {
136
                with (instance_create(x, y, obj_board_smokepuff))
137
                    depth = other.depth - 1;
138
            }
139
            with (obj_board_breakableblockspawner)
140
            {
141
                if (puzzleid == 301)
142
                    instance_destroy();
143
            }
144
            if (global.flag[1190 control_unjumble] == 1)
145
            {
146
                var sutalk = stringsetloc(
DIBS.
"DIBS.", "obj_b2bombfun_slash_Step_0_gml_130_0"
);
147
                
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);
148
                
scr_shakeobj
scr_shakeobj

function
scr_shakeobj()
{ var _shakeobj = instance_create(x, y, obj_shakeobj); _shakeobj.target = id; if (argument_count >= 1) { if (i_ex(argument0)) _shakeobj.target = argument0; } if (argument_count >= 2) { if (argument1 != -1) _shakeobj.shakeamt = argument1; } if (argument_count >= 3) { if (argument2 != -1) _shakeobj.shakereduct = argument2; } with (_shakeobj) event_user(0); }
(su_real);
149
                
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", 10, 3, 2);
150
                susie.sleepy = false;
151
                con = 5;
152
                timer = 0;
153
            }
154
        }
155
        if (timer == 15)
156
        {
157
            var ratalk = stringsetloc(
Oh, bombs! I bet we could...
"Oh, bombs! I bet we could...", "obj_b2bombfun_slash_Step_0_gml_93_0"
);
158
            
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, 45);
159
            timer = -10;
160
            con++;
161
        }
162
    }
163
    if (con == 4)
164
    {
165
        su_real.depth = kr_real.depth + 1;
166
        timer++;
167
        if (timer == 5)
168
        {
169
            var sustring = "...";
170
            
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; }
(sustring, "susie", 2, 40);
171
        }
172
        if (timer == 55)
173
        {
174
            su_real.fun = 1;
175
            su_real.sprite_index = spr_susie_walk_up_dw;
176
            kr_real.sprite_index = kr_real.usprite;
177
            ra_real.sprite_index = ra_real.usprite;
178
            with (obj_couchwriter)
179
                instance_destroy();
180
            with (su_real)
181
            {
182
                image_speed = 0.25;
183
                
scr_move_to_point_over_time
scr_move_to_point_over_time

function
scr_move_to_point_over_time(arg0, arg1, arg2)
{ _mmm = instance_create(x, y, obj_move_to_point); _mmm.target = id; _mmm.movex = arg0; _mmm.movey = arg1; _mmm.movemax = arg2; return _mmm; }
(294, 288, 18);
184
            }
185
        }
186
        if (timer == 73)
187
            su_real.sprite_index = spr_susieu_dark_benddown;
188
        if (timer == 75)
189
        {
190
            
scr_shakeobj
scr_shakeobj

function
scr_shakeobj()
{ var _shakeobj = instance_create(x, y, obj_shakeobj); _shakeobj.target = id; if (argument_count >= 1) { if (i_ex(argument0)) _shakeobj.target = argument0; } if (argument_count >= 2) { if (argument1 != -1) _shakeobj.shakeamt = argument1; } if (argument_count >= 3) { if (argument2 != -1) _shakeobj.shakereduct = argument2; } with (_shakeobj) event_user(0); }
(su_real, 6);
191
            snd_play_x(snd_grab, 0.6, 1.2);
192
            snd_play_x(snd_noise, 0.6, 1.2);
193
            if (i_ex(obj_board_grabobject))
194
                
scr_board_forcethrow
scr_board_forcethrow

function
scr_board_forcethrow()
{ var delivered = false; var _mysusie = 0; with (obj_mainchara_board) { if (name == "susie") _mysusie = id; } if (!i_ex(_mysusie)) { debug_print("NO SUSIE FOUND"); return 0; } if (i_ex(obj_board_grabobject)) { var realsux = round((_mysusie.x - 128) / 32); var realsuy = round((_mysusie.y - 64) / 32); realsux = clamp(realsux, 1, 10); realsuy = clamp(realsuy, 1, 6); if (!i_ex(instance_place(board_tilex(realsux - 1), board_tiley(realsuy), obj_board_solid))) { delivered = true; _mysusie.facing = 3; with (obj_board_grabobject) { aimx = board_tilex(realsux - 1); aimy = board_tiley(realsuy); snd_play(snd_board_throw); grabdaddy.xx = aimx; grabdaddy.yy = aimy; con = 1; } } else { } if (!delivered) { if (!i_ex(instance_place(board_tilex(realsux + 1), board_tiley(realsuy), obj_board_solid))) { _mysusie.facing = 1; delivered = true; with (obj_board_grabobject) { aimx = board_tilex(realsux + 1); aimy = board_tiley(realsuy); snd_play(snd_board_throw); grabdaddy.xx = aimx; grabdaddy.yy = aimy; con = 1; } } else { } } if (!delivered) { if (!i_ex(instance_place(board_tilex(realsux), board_tiley(realsuy - 1), obj_board_solid))) { _mysusie.facing = 2; delivered = true; with (obj_board_grabobject) { aimx = board_tilex(realsux); aimy = board_tiley(realsuy - 1); snd_play(snd_board_throw); grabdaddy.xx = aimx; grabdaddy.yy = aimy; con = 1; } } else { } } if (!delivered) { if (!i_ex(instance_place(board_tilex(realsux), board_tiley(realsuy - 1), obj_board_solid))) { _mysusie.facing = 0; delivered = true; } else { } } if (delivered == false) { _mysusie.facing = 2; with (obj_board_grabobject) { aimx = grabdaddy.x; aimy = grabdaddy.y; snd_play(snd_board_throw); grabdaddy.xx = aimx; grabdaddy.yy = aimy; con = 1; } } ...
();
195
            safe_delete(tempblock);
196
        }
197
        if (timer == 81)
198
        {
199
            obj_ch3_gameshow.wires.sprite_index = spr_controllerwires_ksr_tangle;
200
            
scr_shakeobj
scr_shakeobj

function
scr_shakeobj()
{ var _shakeobj = instance_create(x, y, obj_shakeobj); _shakeobj.target = id; if (argument_count >= 1) { if (i_ex(argument0)) _shakeobj.target = argument0; } if (argument_count >= 2) { if (argument1 != -1) _shakeobj.shakeamt = argument1; } if (argument_count >= 3) { if (argument2 != -1) _shakeobj.shakereduct = argument2; } with (_shakeobj) event_user(0); }
(su_real, 4);
201
            snd_play_x(snd_equip, 0.6, 1.2);
202
            snd_play_x(snd_wing, 0.6, 1.4);
203
            kris.controlled = 1;
204
            kris.cantleave = false;
205
            kris.facing = 0;
206
        }
207
        if (timer == 87)
208
        {
209
            su_real.sprite_index = su_real.usprite;
210
            su_real.image_speed = 0;
211
        }
212
        if (timer == 90)
213
        {
214
            with (su_real)
215
            {
216
                image_speed = 0.25;
217
                sprite_index = dsprite;
218
                
scr_move_to_point_over_time
scr_move_to_point_over_time

function
scr_move_to_point_over_time(arg0, arg1, arg2)
{ _mmm = instance_create(x, y, obj_move_to_point); _mmm.target = id; _mmm.movex = arg0; _mmm.movey = arg1; _mmm.movemax = arg2; return _mmm; }
(146, 384, 16);
219
            }
220
        }
221
        if (timer == 106)
222
        {
223
            with (su_real)
224
            {
225
                
scr_jump_to_point
scr_jump_to_point

function
scr_jump_to_point(arg0, arg1, arg2, arg3, arg4 = 0)
{ var ___jump =
scr_jump_to_point_sprite(arg0, arg1, arg2, arg3, 0, 0);
with (___jump) { trackalpha = arg4; trackblend = arg4; trackindex = arg4; tracksprite = arg4; } return ___jump; }
(140, 392, 20, 8);
226
                sprite_index = usprite;
227
                snd_play(snd_wing);
228
                image_speed = 0;
229
            }
230
        }
231
        if (timer == 114)
232
            snd_play(snd_noise);
233
        if (timer == 115)
234
            
scr_shakeobj
scr_shakeobj

function
scr_shakeobj()
{ var _shakeobj = instance_create(x, y, obj_shakeobj); _shakeobj.target = id; if (argument_count >= 1) { if (i_ex(argument0)) _shakeobj.target = argument0; } if (argument_count >= 2) { if (argument1 != -1) _shakeobj.shakeamt = argument1; } if (argument_count >= 3) { if (argument2 != -1) _shakeobj.shakereduct = argument2; } with (_shakeobj) event_user(0); }
(su_real, 4);
235
        if (timer == 120)
236
        {
237
            con++;
238
            timer = 0;
239
            
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", 10, 3, 2);
240
            var sutalk = stringsetloc(
Alright turn's over.
"Alright turn's over.", "obj_b2bombfun_slash_Step_0_gml_186_0"
);
241
            
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);
242
        }
243
    }
244
    if (con == 5)
245
    {
246
        if (
scr_board_checklocation
scr_board_checklocation

function
scr_board_checklocation()
{ var _name = argument0; var _xloc = argument1; var _yloc = argument2; if (_xloc < 12) _xloc = board_tilex(_xloc); if (_yloc < 12) _yloc = board_tiley(_yloc); var _tol = 4; if (argument_count == 4) _tol = argument3; var targ = 0; with (obj_mainchara_board) { if (name == _name) targ = id; } if (!i_ex(targ)) { debug_message("target does not exist"); return false; } if (abs(targ.x - _xloc) < _tol && abs(targ.y - _yloc) < _tol) return true; }
("susie", 10, 3, 4))
247
        {
248
            with (susie)
249
                setxy(board_tilex(10), board_tiley(3));
250
            
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", "U0U0U0U0U0U0U0U0LU0L0L0L0L0L0L0L0L0W000W0W0W0R0R0R0R0R0R0R0D0D0D0D0LD0L0L0L0W0W0W0W0W0W0W0W0W0W0W0W");
251
            con = 6;
252
            timer = 0;
253
        }
254
    }
255
    if (con == 6 && !bombgrab)
256
    {
257
        if (
scr_board_checklocation
scr_board_checklocation

function
scr_board_checklocation()
{ var _name = argument0; var _xloc = argument1; var _yloc = argument2; if (_xloc < 12) _xloc = board_tilex(_xloc); if (_yloc < 12) _yloc = board_tiley(_yloc); var _tol = 4; if (argument_count == 4) _tol = argument3; var targ = 0; with (obj_mainchara_board) { if (name == _name) targ = id; } if (!i_ex(targ)) { debug_message("target does not exist"); return false; } if (abs(targ.x - _xloc) < _tol && abs(targ.y - _yloc) < _tol) return true; }
("susie", 412, 128, 8))
258
        {
259
            bombgrab = 1;
260
            debug_print("now");
261
            var mybomb = -4;
262
            with (obj_board_grabbablebomb)
263
            {
264
                if (
scr_checklocation
scr_checklocation

function
scr_checklocation(arg0 = id, arg1, arg2, arg3 = 0)
{ if (!i_ex(arg0)) { debug_message("target instance does not exist"); return false; } if (abs(arg0.x - arg1) <= arg3 && abs(arg0.y - arg2) <= arg3) return true; else return false; }
(id, 384, 128, 2))
265
                    mybomb = id;
266
            }
267
            with (obj_mainchara_board)
268
            {
269
                if (name == "susie")
270
                {
271
                    grabbed = mybomb;
272
                    if (grabbed != -4)
273
                    {
274
                        if (grabbed.object_index != obj_mainchara_board)
275
                            mp_grid_clear_cell(global.grid, floor(grabbed.x / 32), floor(grabbed.y / 32));
276
                        grab = 1;
277
                        grabmarker = instance_create(x, y, obj_board_grabobject);
278
                        with (grabmarker)
279
                        {
280
                            snd_play(snd_board_lift);
281
                            grabdaddy = other.id;
282
                            grabbedid = other.grabbed;
283
                            sprite_index = grabbedid.sprite_index;
284
                            image_xscale = grabbedid.image_xscale;
285
                            image_yscale = grabbedid.image_yscale;
286
                            image_speed = grabbedid.image_speed;
287
                            sourcex = grabbedid.x;
288
                            sourcey = grabbedid.y;
289
                        }
290
                        with (grabbed)
291
                        {
292
                            visible = false;
293
                            frozen = true;
294
                            setxy(board_tilex(-1), board_tiley(-1));
295
                            if (object_index == obj_mainchara_board)
296
                                canfreemove = 0;
297
                        }
298
                    }
299
                }
300
            }
301
        }
302
    }
303
    if (bombgrab == 1)
304
    {
305
        if (
scr_board_checklocation
scr_board_checklocation

function
scr_board_checklocation()
{ var _name = argument0; var _xloc = argument1; var _yloc = argument2; if (_xloc < 12) _xloc = board_tilex(_xloc); if (_yloc < 12) _yloc = board_tiley(_yloc); var _tol = 4; if (argument_count == 4) _tol = argument3; var targ = 0; with (obj_mainchara_board) { if (name == _name) targ = id; } if (!i_ex(targ)) { debug_message("target does not exist"); return false; } if (abs(targ.x - _xloc) < _tol && abs(targ.y - _yloc) < _tol) return true; }
("susie", 424, 144, 2))
306
        {
307
            bombgrab = 2;
308
            scr_delay_var("bombgrab", 3, 12);
309
        }
310
    }
311
    if (bombgrab == 3)
312
    {
313
        
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", "01010101010101010101");
314
        bombgrab = 4;
315
    }
316
    if (con < 99 && con > 4)
317
    {
318
        if (global.flag[1190 control_unjumble] == 0)
319
        {
320
            if (obj_board_camera.con != 0)
321
                con = 99;
322
        }
323
    }
324
    if (con == 6)
325
    {
326
        with (obj_mainchara_board)
327
        {
328
            if (iframes > 0)
329
                other.con = 7;
330
        }
331
    }
332
    if (con == 7)
333
    {
334
        var iframecount = 0;
335
        with (obj_mainchara_board)
336
        {
337
            if (iframes > 0)
338
                iframecount++;
339
        }
340
        if (iframecount == 0)
341
        {
342
            var sutalk = stringsetloc(
Heh, worth it.
"Heh, worth it.", "obj_b2bombfun_slash_Step_0_gml_219_0"
);
343
            
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);
344
            timer = 0;
345
            con = 8;
346
        }
347
    }
348
    if (con == 8)
349
    {
350
        timer++;
351
        if (timer == 15)
352
            
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", 3, 3, 0);
353
        if (timer == 60)
354
        {
355
            var ratalk = stringsetloc(
...
"...", "obj_b2bombfun_slash_Step_0_gml_234_0"
);
356
            
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);
357
        }
358
        if (timer == 100)
359
        {
360
            susie.sleepy = true;
361
            var sutalk = stringsetloc(
What?
"What?", "obj_b2bombfun_slash_Step_0_gml_239_0"
);
362
            
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, 80);
363
        }
364
        if (timer == 160)
365
        {
366
            var ratalk = stringsetloc(
Um, nothing...
"Um, nothing...", "obj_b2bombfun_slash_Step_0_gml_244_0"
);
367
            
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, 80);
368
            con = 99;
369
        }
370
    }
371
    if (con == 99)
372
    {
373
        if (suwalk == 0 && obj_board_camera.con == 0 && obj_board_camera.shift == "none")
374
        {
375
            suwalktimer++;
376
            if (suwalktimer == 8)
377
            {
378
                susie.sleepy = true;
379
                
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", irandom_range(2, 9), 4, 0);
380
            }
381
        }
382
    }
383
}
384
else
385
{
386
    if (checkleave == 1)
387
    {
388
        checkleave = 2;
389
        timer = 99999;
390
        con = 99;
391
    }
392
    if (con == 99)
393
    {
394
        suwalktimer = 0;
395
        suwalk = 0;
396
    }
397
}
398
if (active)
399
{
400
    with (obj_mainchara_board)
401
    {
402
        if (myhealth < 1)
403
            myhealth = 1;
404
    }
405
}