Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_board_camera_Step_0

(view raw script w/o annotations or w/e)
1
originX = layer_get_x(tileLayer);
2
originY = layer_get_y(tileLayer);
3
var kris = -1;
4
with (obj_mainchara_board)
5
{
6
    if (controlled)
7
        kris = id;
8
}
9
if (init == false)
10
{
11
    with (obj_board_parent)
12
        event_user(11);
13
    init = true;
14
}
15
if (con == 0)
16
    active = false;
17
else
18
    active = true;
19
if (con == 0)
20
{
21
    activecheck = 0;
22
    if (shift != "none")
23
    {
24
        con = 1;
25
        moving = 0;
26
        with (obj_board_boulder)
27
            instance_destroy();
28
        with (obj_pushableblock_board)
29
        {
30
            if (sprite_index == spr_board_pushableblock_ice)
31
                instance_destroy();
32
        }
33
        with (obj_mainchara_board)
34
        {
35
            sleepy = false;
36
            sleepytimer = 0;
37
            fun = 0;
38
            image_speed = 0;
39
            if (name == "susie")
40
            {
41
                graballpots = false;
42
                path_end();
43
                path_target_x = -1;
44
                path_target_y = -1;
45
                is_moving_timer = 0;
46
                is_moving = false;
47
                graballpots_con = 0;
48
                graballpots_timer = 0;
49
                if (i_ex(obj_board_grabobject))
50
                {
51
                    with (grabmarker)
52
                    {
53
                        with (grabbedid)
54
                        {
55
                            var findsusie = 0;
56
                            if (object_index == obj_mainchara_board)
57
                            {
58
                                with (obj_mainchara_board)
59
                                {
60
                                    if (name == "susie")
61
                                        findsusie = id;
62
                                }
63
                                sourcex = x;
64
                                sourcey = y;
65
                            }
66
                            setxy(other.sourcex, other.sourcey);
67
                            if (i_ex(findsusie))
68
                                setxy(findsusie.x, findsusie.y);
69
                            visible = true;
70
                            frozen = false;
71
                        }
72
                        grabdaddy.grabbed = 0;
73
                        grabdaddy.grab = 0;
74
                        grabdaddy.canfreemove = 1;
75
                        instance_destroy();
76
                    }
77
                }
78
                grab = 0;
79
                with (obj_board_grabobject)
80
                {
81
                    if (!i_ex(grabbedid))
82
                    {
83
                        grabdaddy.grabbed = 0;
84
                        grabdaddy.grab = 0;
85
                        instance_destroy();
86
                    }
87
                }
88
            }
89
            runawayfromsusie = false;
90
            runawayfromsusiecon = 0;
91
        }
92
        
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; } } }
("kris");
93
        
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");
94
        
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");
95
        with (obj_board_enemy_parent)
96
        {
97
            if (object_index != obj_board_enemy_deer)
98
            {
99
                instance_destroy();
100
            }
101
            else
102
            {
103
                if (ominoussound == 0)
104
                {
105
                    ominoussound = 1;
106
                    snd_stop(snd_board_ominous);
107
                    snd_play(snd_board_ominous);
108
                }
109
                visible = false;
110
                follow = true;
111
                x = obj_mainchara_board.x;
112
                y = obj_mainchara_board.y;
113
            }
114
        }
115
        with (obj_fire_bar_base)
116
            instance_destroy();
117
        with (obj_fire_bar_piece)
118
            instance_destroy();
119
        with (obj_board_enemy_spear)
120
            instance_destroy();
121
        with (obj_board_enemy_fire)
122
            instance_destroy();
123
        with (obj_board_enemy_bubble)
124
            instance_destroy();
125
        with (obj_board_enemy_note)
126
            instance_destroy();
127
        with (obj_board_enemy_pellet)
128
            instance_destroy();
129
        with (obj_board_enemy_note)
130
            instance_destroy();
131
        with (obj_board_icepuzzle_wall)
132
            instance_destroy();
133
        with (obj_board_icepuzzle_controller1)
134
            instance_destroy();
135
        with (obj_board_icepuzzle_controller2)
136
            instance_destroy();
137
        with (obj_board_icepuzzle_controller3)
138
            instance_destroy();
139
        with (obj_board_chase_event)
140
            instance_destroy();
141
        with (obj_board_enemy_deer_ice_spell)
142
            instance_destroy();
143
        if (room == room_board_1 || room == room_dw_puzzlecloset_3)
144
        {
145
            with (obj_board_controller)
146
            {
147
                if (i_ex(kris_object))
148
                    kris_object.leftdoorway = false;
149
            }
150
        }
151
        else
152
        {
153
            obj_board_controller.kris_object.leftdoorway = false;
154
        }
155
        var specialmove = 0;
156
        var specialcase = -4;
157
        var px = 0;
158
        var py = 0;
159
        if (!i_ex(kris))
160
        {
161
            with (obj_mainchara_board)
162
            {
163
                if (name == "kris")
164
                    kris = id;
165
            }
166
        }
167
        if (kris.facing == 0)
168
            py = 16;
169
        if (kris.facing == 2)
170
            py = -16;
171
        if (kris.facing == 1)
172
            px = 16;
173
        if (kris.facing == 3)
174
            px = -16;
175
        with (kris)
176
            specialcase = instance_place(x + px, y + py, obj_board_specialwarp);
177
        var _sy;
178
        if (specialcase != -4)
179
        {
180
            var _sx = 0;
181
            _sy = 0;
182
            if (specialcase.extflag == "loop_exit")
183
            {
184
                with (obj_board_swordroute_loop_counter)
185
                {
186
                    if (con == 0)
187
                    {
188
                        specialmove = 1;
189
                        _sy = -256;
190
                    }
191
                }
192
            }
193
        }
194
        if (specialmove == 1)
195
        {
196
            layer_y(tileLayer, layer_get_y(tileLayer) + _sy);
197
            if (layer_exists(assetLayer))
198
                layer_y(assetLayer, layer_get_y(assetLayer) + _sy);
199
            if (layer_exists(tileLayer2))
200
                layer_y(tileLayer2, layer_get_y(tileLayer2) + _sy);
201
            originY = layer_get_y(tileLayer);
202
            with (obj_board_parent)
203
            {
204
                if (object_index != obj_mainchara_board)
205
                    y += _sy;
206
            }
207
            specialmove = 0;
208
        }
209
        with (obj_board_swordroute_treeteleportroom)
210
            event_user(7);
211
    }
212
}
213
if (con == 1)
214
{
215
    if (activecheck == 0)
216
    {
217
        activecheck = 1;
218
        var _xx = 0;
219
        var _yy = 0;
220
        switch (shift)
221
        {
222
            case "right":
223
                _xx += 384;
224
                break;
225
            case "left":
226
                _xx -= 384;
227
                break;
228
            case "up":
229
                _yy -= 256;
230
                break;
231
            case "down":
232
                _yy += 256;
233
                break;
234
            case "warp":
235
                _xx += ((warpx + originX) - 128);
236
                _yy += ((warpy + originY) - 64);
237
                break;
238
        }
239
        var dslist = ds_list_create();
240
        var x1 = 128 + _xx;
241
        var x2 = 512 + _xx;
242
        var y1 = 64 + _yy;
243
        var y2 = 320 + _yy;
244
        var _num = collision_rectangle_list(x1, y1, x2, y2, obj_board_parent, false, true, dslist, 0);
245
        if (_num > 0)
246
        {
247
            for (var i = 0; i < _num; i++)
248
            {
249
                with (ds_list_find_value(dslist, i))
250
                    active = true;
251
            }
252
        }
253
        ds_list_destroy(dslist);
254
    }
255
    if (shift == "right")
256
    {
257
        movespeed = 24;
258
        if (moving != gamescreenWidth)
259
        {
260
            with (obj_board_parent)
261
                x -= other.movespeed;
262
            with (kris)
263
                x += 2;
264
            var raft = 0;
265
            with (obj_board_boat)
266
            {
267
                if (engaged)
268
                    raft = id;
269
            }
270
            if (i_ex(raft))
271
                raft.x += 2;
272
            layer_x(tileLayer, layer_get_x(tileLayer) - movespeed);
273
            if (layer_exists(assetLayer))
274
                layer_x(assetLayer, layer_get_x(assetLayer) - movespeed);
275
            if (layer_exists(tileLayer2))
276
                layer_x(tileLayer2, layer_get_x(tileLayer2) - movespeed);
277
            moving += movespeed;
278
        }
279
        else
280
        {
281
            con = 98;
282
        }
283
    }
284
    if (shift == "left")
285
    {
286
        movespeed = 24;
287
        if (moving != gamescreenWidth)
288
        {
289
            moving += movespeed;
290
            with (obj_board_parent)
291
                x += other.movespeed;
292
            with (kris)
293
                x -= 2;
294
            var raft = 0;
295
            with (obj_board_boat)
296
            {
297
                if (engaged)
298
                    raft = id;
299
            }
300
            if (i_ex(raft))
301
                raft.x -= 2;
302
            layer_x(tileLayer, layer_get_x(tileLayer) + movespeed);
303
            if (layer_exists(assetLayer))
304
                layer_x(assetLayer, layer_get_x(assetLayer) + movespeed);
305
            if (layer_exists(tileLayer2))
306
                layer_x(tileLayer2, layer_get_x(tileLayer2) + movespeed);
307
        }
308
        else
309
        {
310
            con = 98;
311
        }
312
    }
313
    if (shift == "up")
314
    {
315
        movespeed = 16;
316
        if (moving != gamescreenHeight)
317
        {
318
            moving += movespeed;
319
            with (obj_board_parent)
320
                y += other.movespeed;
321
            with (kris)
322
                y -= 2;
323
            var raft = 0;
324
            with (obj_board_boat)
325
            {
326
                if (engaged)
327
                    raft = id;
328
            }
329
            if (i_ex(raft))
330
                raft.y -= 2;
331
            layer_y(tileLayer, layer_get_y(tileLayer) + movespeed);
332
            if (layer_exists(assetLayer))
333
                layer_y(assetLayer, layer_get_y(assetLayer) + movespeed);
334
            if (layer_exists(tileLayer2))
335
                layer_y(tileLayer2, layer_get_y(tileLayer2) + movespeed);
336
        }
337
        else
338
        {
339
            con = 98;
340
        }
341
    }
342
    if (shift == "down")
343
    {
344
        movespeed = 16;
345
        if (moving != gamescreenHeight)
346
        {
347
            moving += movespeed;
348
            with (obj_board_parent)
349
                y -= other.movespeed;
350
            with (kris)
351
                y += 2;
352
            var raft = 0;
353
            with (obj_board_boat)
354
            {
355
                if (engaged)
356
                    raft = id;
357
            }
358
            if (i_ex(raft))
359
                raft.y += 2;
360
            layer_y(tileLayer, layer_get_y(tileLayer) - movespeed);
361
            if (layer_exists(assetLayer))
362
                layer_y(assetLayer, layer_get_y(assetLayer) - movespeed);
363
            if (layer_exists(tileLayer2))
364
                layer_y(tileLayer2, layer_get_y(tileLayer2) - movespeed);
365
        }
366
        else
367
        {
368
            con = 98;
369
        }
370
    }
371
    if (shift == "warp")
372
    {
373
        con = 10;
374
        timer = 0;
375
    }
376
}
377
if (con == 10)
378
{
379
    if (timer == 0 && instawarp == false)
380
    {
381
        transition = instance_create(x, y, obj_board_transition);
382
        transition.transitionspeed = 1;
383
        transition.pausetime = 2;
384
        transition.tilescovered = -1;
385
        transition.type = 0;
386
    }
387
    timer++;
388
    if (timer == 10 || instawarp == true)
389
    {
390
        timer = 0;
391
        con = 11;
392
    }
393
}
394
if (con == 11)
395
{
396
    if (timer == 0)
397
    {
398
        var roomstartx = 128;
399
        var roomstarty = 64;
400
        if (room == room_dw_puzzlecloset_3)
401
        {
402
            roomstartx = 2688;
403
            roomstarty = 608;
404
        }
405
        var moveX = roomstartx - warpx - originX;
406
        var moveY = roomstarty - warpy - originY;
407
        with (obj_mainchara_board)
408
            setxy(other.playerX + other.originX, other.playerY + other.originY);
409
        with (obj_board_parent)
410
            setxy(x + moveX, y + moveY);
411
        layer_x(tileLayer, layer_get_x(tileLayer) + moveX);
412
        layer_y(tileLayer, layer_get_y(tileLayer) + moveY);
413
        if (layer_exists(assetLayer))
414
        {
415
            layer_x(assetLayer, layer_get_x(assetLayer) + moveX);
416
            layer_y(assetLayer, layer_get_y(assetLayer) + moveY);
417
        }
418
        if (layer_exists(tileLayer2))
419
        {
420
            layer_x(tileLayer2, layer_get_x(tileLayer2) + moveX);
421
            layer_y(tileLayer2, layer_get_y(tileLayer2) + moveY);
422
        }
423
    }
424
    timer++;
425
    if (timer == 15 || instawarp == true)
426
        con = 98;
427
}
428
var specialwarp;
429
if (con == 98)
430
{
431
    with (obj_gameshow_swordroute)
432
        event_user(1);
433
    instawarp = false;
434
    
scr_board_gridreset
scr_board_gridreset

function
scr_board_gridreset()
{ with (obj_board_controller) grid_reset = true; }
();
435
    with (obj_board_enemy_spawner)
436
    {
437
        if (x >= 128 && x <= 480 && y >= 64 && y <= 288)
438
            event_user(0);
439
    }
440
    with (obj_board_enemy_deer)
441
    {
442
        visible = true;
443
        if (follow == true)
444
        {
445
            x = obj_mainchara_board.x;
446
            y = obj_mainchara_board.y;
447
            follow = true;
448
            for (var i = 0; i < 75; i += 1)
449
            {
450
                remx[i] = obj_mainchara_board.x;
451
                remy[i] = obj_mainchara_board.y;
452
            }
453
        }
454
    }
455
    with (obj_mainchara_board)
456
    {
457
        var specialmove = 0;
458
        if (place_meeting(x, y, obj_board_specialwarp))
459
        {
460
            specialwarp = instance_place(x, y, obj_board_specialwarp);
461
            if (specialwarp.extflag == "loop")
462
                obj_board_swordroute_loop_counter.value = specialwarp.shift;
463
            if (specialwarp.extflag == "loop_exit")
464
            {
465
                obj_board_swordroute_loop_counter.value = specialwarp.shift;
466
                if (obj_board_swordroute_loop_counter.con == 0)
467
                    specialmove = 1;
468
            }
469
            other.con = 120;
470
        }
471
        else
472
        {
473
            other.con = 99;
474
        }
475
    }
476
}
477
if (con == 99)
478
{
479
    if (global.flag[1024 board_transitioning?] == 0)
480
    {
481
        
scr_resetgameshowcharacter
scr_resetgameshowcharacter

function
scr_resetgameshowcharacter(arg0)
{ if (room == room_dw_puzzlecloset_3) exit; var _name = arg0; var _smooth = 0; var __found = 0; if (argument_count == 2) _smooth = argument1; if (_name == "kris" || _name == "kr" || _name == "k" || _name == "Kris" || _name == "Kr" || _name == "K" || _name == "all") { var _krx = 248; var _kry = 400; if (
scr_swordroom())
{ _krx = 300; _kry = 298; } with (obj_mainchara) { if (_smooth == 0) { setxy(_krx, _kry); } else {
scr_lerpvar("x", x, _krx, _smooth);
scr_lerpvar("y", y, _kry, _smooth);
} fun = true; ignoredepth = true; depth = 95240; sprite_index = spr_krisu_dark; image_speed = 0; image_index = 0; if (
scr_swordroom())
{ sprite_index = spr_krisu_holdcontroller; depth = 96260; }
scr_darksize();
__found = 1; } } if (_name == "susie" || _name == "su" || _name == "Susie" || _name == "Su" || _name == "S" || _name == "s" || _name == "all") { with (obj_caterpillarchara) { if (name == "susie") { fun = true; ignoredepth = true; depth = 95165; var _sux = 140; var _suy = 392; if (_smooth == 0) { setxy(_sux, _suy); } else {
scr_lerpvar("x", x, _sux, _smooth);
scr_lerpvar("y", y, _suy, _smooth);
} sprite_index = spr_susie_walk_up_dw; image_speed = 0; image_index = 0;
scr_darksize();
__found = 1; } } } if (_name == "ralsei" || _name == "ra" || _name == "Ralsei" || _name == "Ra" || _name == "R" || _name == "r" || _name == "all") { with (obj_caterpillarchara) { if (name == "ralsei") { fun = true; ignoredepth = true; depth = 95145; var _rax = 342; var _ray = 396; if (_smooth == 0) { setxy(_rax, _ray); } else {
scr_lerpvar("x", x, _rax, _smooth);
scr_lerpvar("y", y, _ray, _smooth);
} sprite_index = spr_ralsei_walk_up; image_speed = 0; image_index = 0;
scr_darksize();
__found = 1; } } } if (_name == "tenna" || _name == "Tenna" || _name == "te" || _name == "t" || _name == "Te" || _name == "T" || _name == "all") ...
("kris");
482
        
scr_resetgameshowcharacter
scr_resetgameshowcharacter

function
scr_resetgameshowcharacter(arg0)
{ if (room == room_dw_puzzlecloset_3) exit; var _name = arg0; var _smooth = 0; var __found = 0; if (argument_count == 2) _smooth = argument1; if (_name == "kris" || _name == "kr" || _name == "k" || _name == "Kris" || _name == "Kr" || _name == "K" || _name == "all") { var _krx = 248; var _kry = 400; if (
scr_swordroom())
{ _krx = 300; _kry = 298; } with (obj_mainchara) { if (_smooth == 0) { setxy(_krx, _kry); } else {
scr_lerpvar("x", x, _krx, _smooth);
scr_lerpvar("y", y, _kry, _smooth);
} fun = true; ignoredepth = true; depth = 95240; sprite_index = spr_krisu_dark; image_speed = 0; image_index = 0; if (
scr_swordroom())
{ sprite_index = spr_krisu_holdcontroller; depth = 96260; }
scr_darksize();
__found = 1; } } if (_name == "susie" || _name == "su" || _name == "Susie" || _name == "Su" || _name == "S" || _name == "s" || _name == "all") { with (obj_caterpillarchara) { if (name == "susie") { fun = true; ignoredepth = true; depth = 95165; var _sux = 140; var _suy = 392; if (_smooth == 0) { setxy(_sux, _suy); } else {
scr_lerpvar("x", x, _sux, _smooth);
scr_lerpvar("y", y, _suy, _smooth);
} sprite_index = spr_susie_walk_up_dw; image_speed = 0; image_index = 0;
scr_darksize();
__found = 1; } } } if (_name == "ralsei" || _name == "ra" || _name == "Ralsei" || _name == "Ra" || _name == "R" || _name == "r" || _name == "all") { with (obj_caterpillarchara) { if (name == "ralsei") { fun = true; ignoredepth = true; depth = 95145; var _rax = 342; var _ray = 396; if (_smooth == 0) { setxy(_rax, _ray); } else {
scr_lerpvar("x", x, _rax, _smooth);
scr_lerpvar("y", y, _ray, _smooth);
} sprite_index = spr_ralsei_walk_up; image_speed = 0; image_index = 0;
scr_darksize();
__found = 1; } } } if (_name == "tenna" || _name == "Tenna" || _name == "te" || _name == "t" || _name == "Te" || _name == "T" || _name == "all") ...
("susie");
483
        
scr_resetgameshowcharacter
scr_resetgameshowcharacter

function
scr_resetgameshowcharacter(arg0)
{ if (room == room_dw_puzzlecloset_3) exit; var _name = arg0; var _smooth = 0; var __found = 0; if (argument_count == 2) _smooth = argument1; if (_name == "kris" || _name == "kr" || _name == "k" || _name == "Kris" || _name == "Kr" || _name == "K" || _name == "all") { var _krx = 248; var _kry = 400; if (
scr_swordroom())
{ _krx = 300; _kry = 298; } with (obj_mainchara) { if (_smooth == 0) { setxy(_krx, _kry); } else {
scr_lerpvar("x", x, _krx, _smooth);
scr_lerpvar("y", y, _kry, _smooth);
} fun = true; ignoredepth = true; depth = 95240; sprite_index = spr_krisu_dark; image_speed = 0; image_index = 0; if (
scr_swordroom())
{ sprite_index = spr_krisu_holdcontroller; depth = 96260; }
scr_darksize();
__found = 1; } } if (_name == "susie" || _name == "su" || _name == "Susie" || _name == "Su" || _name == "S" || _name == "s" || _name == "all") { with (obj_caterpillarchara) { if (name == "susie") { fun = true; ignoredepth = true; depth = 95165; var _sux = 140; var _suy = 392; if (_smooth == 0) { setxy(_sux, _suy); } else {
scr_lerpvar("x", x, _sux, _smooth);
scr_lerpvar("y", y, _suy, _smooth);
} sprite_index = spr_susie_walk_up_dw; image_speed = 0; image_index = 0;
scr_darksize();
__found = 1; } } } if (_name == "ralsei" || _name == "ra" || _name == "Ralsei" || _name == "Ra" || _name == "R" || _name == "r" || _name == "all") { with (obj_caterpillarchara) { if (name == "ralsei") { fun = true; ignoredepth = true; depth = 95145; var _rax = 342; var _ray = 396; if (_smooth == 0) { setxy(_rax, _ray); } else {
scr_lerpvar("x", x, _rax, _smooth);
scr_lerpvar("y", y, _ray, _smooth);
} sprite_index = spr_ralsei_walk_up; image_speed = 0; image_index = 0;
scr_darksize();
__found = 1; } } } if (_name == "tenna" || _name == "Tenna" || _name == "te" || _name == "t" || _name == "Te" || _name == "T" || _name == "all") ...
("ralsei");
484
        
scr_resetgameshowcharacter
scr_resetgameshowcharacter

function
scr_resetgameshowcharacter(arg0)
{ if (room == room_dw_puzzlecloset_3) exit; var _name = arg0; var _smooth = 0; var __found = 0; if (argument_count == 2) _smooth = argument1; if (_name == "kris" || _name == "kr" || _name == "k" || _name == "Kris" || _name == "Kr" || _name == "K" || _name == "all") { var _krx = 248; var _kry = 400; if (
scr_swordroom())
{ _krx = 300; _kry = 298; } with (obj_mainchara) { if (_smooth == 0) { setxy(_krx, _kry); } else {
scr_lerpvar("x", x, _krx, _smooth);
scr_lerpvar("y", y, _kry, _smooth);
} fun = true; ignoredepth = true; depth = 95240; sprite_index = spr_krisu_dark; image_speed = 0; image_index = 0; if (
scr_swordroom())
{ sprite_index = spr_krisu_holdcontroller; depth = 96260; }
scr_darksize();
__found = 1; } } if (_name == "susie" || _name == "su" || _name == "Susie" || _name == "Su" || _name == "S" || _name == "s" || _name == "all") { with (obj_caterpillarchara) { if (name == "susie") { fun = true; ignoredepth = true; depth = 95165; var _sux = 140; var _suy = 392; if (_smooth == 0) { setxy(_sux, _suy); } else {
scr_lerpvar("x", x, _sux, _smooth);
scr_lerpvar("y", y, _suy, _smooth);
} sprite_index = spr_susie_walk_up_dw; image_speed = 0; image_index = 0;
scr_darksize();
__found = 1; } } } if (_name == "ralsei" || _name == "ra" || _name == "Ralsei" || _name == "Ra" || _name == "R" || _name == "r" || _name == "all") { with (obj_caterpillarchara) { if (name == "ralsei") { fun = true; ignoredepth = true; depth = 95145; var _rax = 342; var _ray = 396; if (_smooth == 0) { setxy(_rax, _ray); } else {
scr_lerpvar("x", x, _rax, _smooth);
scr_lerpvar("y", y, _ray, _smooth);
} sprite_index = spr_ralsei_walk_up; image_speed = 0; image_index = 0;
scr_darksize();
__found = 1; } } } if (_name == "tenna" || _name == "Tenna" || _name == "te" || _name == "t" || _name == "Te" || _name == "T" || _name == "all") ...
("tenna");
485
    }
486
    global.flag[1016] = 0;
487
    global.interact = 0;
488
    shift = "none";
489
    movetype = 0;
490
    con = 0;
491
    with (obj_mainchara_board)
492
    {
493
        canfreemove = true;
494
        x = round(x);
495
        y = round(y);
496
        if (myhealth <= 0)
497
        {
498
            myhealth = 1;
499
            image_alpha = 1;
500
        }
501
    }
502
    with (obj_board_boat)
503
    {
504
        if (engaged)
505
            canfreemove = true;
506
    }
507
    var boss = 0;
508
    with (obj_mainchara_board)
509
    {
510
        if (controlled == 1)
511
            boss = id;
512
    }
513
    with (obj_mainchara_board)
514
    {
515
        if (i_ex(boss))
516
        {
517
            if (controlled == 0)
518
                setxy(boss.x, boss.y);
519
        }
520
        if (name == "susie" || name == "ralsei")
521
        {
522
            for (var i = 0; i < 75; i += 1)
523
            {
524
                remx[i] = x;
525
                remy[i] = y;
526
                facingdir[i] = 0;
527
                input[i] = 0;
528
            }
529
        }
530
    }
531
    with (obj_board_caterpillarchara)
532
    {
533
        x = obj_mainchara_board.x;
534
        y = obj_mainchara_board.y;
535
        
scr_board_b3s_interpolatecaterpillarchara
scr_board_b3s_interpolatecaterpillarchara

function
scr_board_b3s_interpolatecaterpillarchara()
{ if (i_ex(obj_mainchara_board)) { var xpos = obj_mainchara_board.x; var ypos = obj_mainchara_board.y; for (var i = 0; i < 75; i += 1) { remx[i] = x; remy[i] = y; facing[i] = 0; } var _newfacing; if (x != xpos && y != ypos) _newfacing =
scr_facing_letter_to_number(
scr_get_cardinal_direction(point_direction(x, y, obj_mainchara_board.x, obj_mainchara_board.y)));
else _newfacing = obj_mainchara_board.facing; remx[0] = xpos; remy[0] = ypos; facing[0] = _newfacing; for (var _iaia = target; _iaia > 0; _iaia -= 1) { remx[_iaia] = lerp(xpos, x, _iaia / target); remy[_iaia] = lerp(ypos, y, _iaia / target); facing[_iaia] = _newfacing; } } else { return 0; } }
();
536
    }
537
    with (obj_board_parent)
538
        event_user(11);
539
    if (instawarproomgoto != -4)
540
    {
541
        helper = instance_create(x, y, obj_board_instawarp_helper);
542
        helper.camx = camsavex;
543
        helper.camy = camsavey;
544
        helper.krissavex = obj_board_controller.kris_object.x;
545
        helper.krissavey = obj_board_controller.kris_object.y;
546
        if (obj_board_controller.susie_object != -1)
547
        {
548
            helper.sussavex = obj_board_controller.susie_object.x;
549
            helper.sussavey = obj_board_controller.susie_object.y;
550
        }
551
        if (obj_board_controller.ralsei_object != -1)
552
        {
553
            helper.ralsavex = obj_board_controller.ralsei_object.y;
554
            helper.ralsavey = obj_board_controller.ralsei_object.y;
555
        }
556
        room_goto(instawarproomgoto);
557
        instawarproomgoto = -4;
558
    }
559
}
560
if (con == 120)
561
{
562
    shift = specialwarp.shift;
563
    var _sx = 0;
564
    var _sy = 0;
565
    if (shift == "up")
566
        _sy = 256;
567
    if (shift == "down")
568
        _sy = -256;
569
    if (shift == "left")
570
        _sx = 384;
571
    if (shift == "right")
572
        _sx = -384;
573
    layer_x(tileLayer, layer_get_x(tileLayer) + _sx);
574
    layer_y(tileLayer, layer_get_y(tileLayer) + _sy);
575
    if (layer_exists(assetLayer))
576
    {
577
        layer_x(assetLayer, layer_get_x(assetLayer) + _sx);
578
        layer_y(assetLayer, layer_get_y(assetLayer) + _sy);
579
    }
580
    if (layer_exists(tileLayer2))
581
    {
582
        layer_x(tileLayer2, layer_get_x(tileLayer2) + _sx);
583
        layer_y(tileLayer2, layer_get_y(tileLayer2) + _sy);
584
    }
585
    with (obj_board_parent)
586
    {
587
        if (object_index != obj_mainchara_board)
588
        {
589
            x += _sx;
590
            y += _sy;
591
        }
592
    }
593
    con = 99;
594
}