Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_obj_ch2_scene21_puzzle_entrance_Create_0

(view raw script w/o annotations or w/e)
1
con = -1;
2
customcon = 0;
3
if (global.chapter != 2)
4
{
5
    instance_destroy();
6
}
7
else
8
{
9
    with (obj_doorB)
10
        instance_destroy();
11
    if (global.flag[343 made_high_five] == 0)
12
    {
13
        if (global.plot < 140)
14
        {
15
            scr_losechar
scr_losechar

function scr_losechar() { global.char[2] = 0; global.char[1] = 0; with (obj_darkcontroller) { chartotal = 0; havechar[0] = 0; havechar[1] = 0; havechar[2] = 0; havechar[3] = 0; for (i = 0; i < 3; i += 1) { global.faceaction[i] = 0; if (global.char[i] != 0) chartotal += 1; if (global.char[i] == 1) { havechar[0] = 1; charpos[0] = i; } if (global.char[i] == 2) { havechar[1] = 1; charpos[1] = i; } if (global.char[i] == 3) { havechar[2] = 1; charpos[2] = i; } if (global.char[i] == 4) { havechar[3] = 1; charpos[3] = i; } } } global.submenu = 0; global.charselect = -1; for (i = 0; i < 36; i += 1) global.submenucoord[i] = 0; }
();
16
            safe_delete(obj_caterpillarchara);
17
            scr_getchar
scr_getchar

function scr_getchar(arg0) { getchar = 0; if (global.char[0] == 0) { global.char[0] = arg0; getchar = 1; } if (global.char[1] == 0 && getchar == 0) { global.char[1] = arg0; getchar = 1; } if (global.char[2] == 0 && getchar == 0) { global.char[2] = arg0; getchar = 1; } with (obj_darkcontroller) { chartotal = 0; havechar[0] = 0; havechar[1] = 0; havechar[2] = 0; havechar[3] = 0; for (i = 0; i < 3; i += 1) { global.faceaction[i] = 0; if (global.char[i] != 0) chartotal += 1; if (global.char[i] == 1) { havechar[0] = 1; charpos[0] = i; } if (global.char[i] == 2) { havechar[1] = 1; charpos[1] = i; } if (global.char[i] == 3) { havechar[2] = 1; charpos[2] = i; } if (global.char[i] == 4) { havechar[3] = 1; charpos[3] = i; } } } }
(3);
18
            obj_mainchara.x = -100;
19
            var ra_x = (global.plot < 140) ? (obj_mainchara.x - 40) : obj_mainchara.x;
20
            var ra_y = (global.plot < 140) ? obj_mainchara.y : (obj_mainchara.y - 40);
21
            scr_makecaterpillar
scr_makecaterpillar

function scr_makecaterpillar(arg0, arg1, arg2, arg3) { global.cinstance[arg3] = instance_create(arg0, arg1, obj_caterpillarchara); global.cinstance[arg3].target = 12 + (arg3 * 12); if (arg2 == 3) { with (global.cinstance[arg3]) { usprite = spr_ralseiu; dsprite = spr_ralseid; rsprite = spr_ralseir; lsprite = spr_ralseil; if (global.chapter >= 2) { name = "ralsei"; usprite = spr_ralsei_walk_up; dsprite = spr_ralsei_walk_down; rsprite = spr_ralsei_walk_right; lsprite = spr_ralsei_walk_left; } } } if (arg2 == 4) { with (global.cinstance[arg3]) { name = "noelle"; usprite = spr_noelle_walk_up_dw; dsprite = spr_noelle_walk_down_dw; rsprite = spr_noelle_walk_right_dw; lsprite = spr_noelle_walk_left_dw; if (global.chapter == 2 && global.plot == 95) { dsprite = spr_noelle_walk_down_blush_dw; rsprite = spr_noelle_walk_right_blush_dw; lsprite = spr_noelle_walk_left_blush_dw; } } } if (arg2 == 5) { with (global.cinstance[arg3]) { name = "berdly"; usprite = spr_berdly_walk_up_dw; dsprite = spr_berdly_walk_down_dw; rsprite = spr_berdly_walk_right_dw; lsprite = spr_berdly_walk_left_dw; } } if (arg2 == 6) { with (global.cinstance[arg3]) { name = "starwalker"; usprite = spr_npc_originalstarwalker; dsprite = spr_npc_originalstarwalker; rsprite = spr_npc_originalstarwalker; lsprite = spr_npc_originalstarwalker; } } return global.cinstance[arg3]; }
(ra_x, ra_y, 3, 0);
22
            with (obj_caterpillarchara)
23
                scr_caterpillar_interpolate
scr_caterpillar_interpolate

function scr_caterpillar_interpolate() { _newfacing = scr_facing_letter_to_number(scr_get_cardinal_direction(point_direction(x, y, obj_mainchara.x, obj_mainchara.y))); remx[0] = obj_mainchara.x; remy[0] = obj_mainchara.y; facing[0] = _newfacing; for (_iaia = target; _iaia > 0; _iaia -= 1) { remx[_iaia] = lerp(obj_mainchara.x, x, _iaia / target); if (global.darkzone == 1) remy[_iaia] = lerp(obj_mainchara.y, y + 16, _iaia / target); else remy[_iaia] = lerp(obj_mainchara.y, y + 6, _iaia / target); facing[_iaia] = _newfacing; } }
();
24
        }
25
        var swanboat_x = (global.plot < 140) ? -200 : 140;
26
        swanboat = instance_create(swanboat_x, 240, obj_queencar);
27
        with (swanboat)
28
            scr_depth
scr_depth

function scr_depth() { depth = 100000 - ((y * 10) + (sprite_height * 10)); }
();
29
        swanboat.con = global.plot < 140;
30
        swanboat.pause_y_move = true;
31
        swanboat.pause_auto_talk = true;
32
        queenhand = instance_create(285, 185, obj_npc_sign);
33
        queenhand.sprite_index = spr_dw_mansion_hand;
34
        queenhand.image_xscale = 2;
35
        queenhand.image_yscale = 2;
36
        queenhand.setdepth = 0;
37
        queenhand.depth = swanboat.depth + 100;
38
        remove_collider = false;
39
        if (global.plot >= 140)
40
        {
41
            bottom_collider = instance_create(200, 320, obj_soliddark);
42
            bottom_collider.visible = 0;
43
            bottom_collider.image_xscale = 6;
44
            var swan_interact = instance_create(swanboat.x + 50, swanboat.y + 80, obj_npc_sign);
45
            swan_interact.visible = 0;
46
            swan_interact.image_xscale = 4;
47
        }
48
    }
49
    if (global.flag[343 made_high_five] == 1)
50
    {
51
        swanboat = instance_create(235, 240, obj_queencar);
52
        with (swanboat)
53
            scr_depth
scr_depth

function scr_depth() { depth = 100000 - ((y * 10) + (sprite_height * 10)); }
();
54
        swanboat.pause_y_move = true;
55
        swanboat.pause_auto_talk = true;
56
        var swan_interact = instance_create(swanboat.x + 20, 320, obj_npc_sign);
57
        swan_interact.visible = 0;
58
        swan_interact.image_xscale = 6;
59
        remove_collider = false;
60
        left_collider = instance_create(200, 320, obj_soliddark);
61
        left_collider.visible = 0;
62
        left_collider.image_xscale = 2;
63
        right_collider = instance_create(360, 320, obj_soliddark);
64
        right_collider.visible = 0;
65
        right_collider.image_xscale = 2;
66
    }
67
}