Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_board_cactus_flirt_Step_0

(view raw script w/o annotations or w/e)
1
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();
}
();
2
if (init == 0)
3
{
4
    with (obj_mainchara_board)
5
    {
6
        if (name == "kris")
7
            other.kr = id;
8
    }
9
    if (kr != 0)
10
        init = 1;
11
}
12
if (active == 1)
13
{
14
    var _xx, _yy;
15
    if (con == 1)
16
    {
17
        with (obj_board_npc)
18
        {
19
            if (extflag == "1Q")
20
            {
21
                read = 0;
22
                extflag = "1Qa";
23
            }
24
        }
25
        key = instance_create(x, y, obj_board_pickup);
26
        key.image_alpha = 0;
27
        key.type = "key";
28
        
scr_darksize
scr_darksize

function
scr_darksize()
{ var inst = id; if (argument_count) inst = argument0; inst.image_xscale = 2; inst.image_yscale = 2; }
(key);
29
        key.depth = depth + 5;
30
        pushed = true;
31
        for (var i = 0; i < 3; i++)
32
            snd_play_delay(snd_wing, 1 + (2 * i), 1, 1.5 + (i / 20));
33
        _xx = 0;
34
        _yy = 0;
35
        if (dir == "right")
36
            _xx = 32;
37
        if (dir == "left")
38
            _xx = -32;
39
        if (dir == "down")
40
            _yy = 32;
41
        if (dir == "up")
42
            _yy = -32;
43
        x += _xx;
44
        y += _yy;
45
        var checker = instance_place(x, y, obj_board_solid);
46
        if (checker == -4)
47
            checker = collision_rectangle(132, 68, 508, 92, object_index, true, false);
48
        if (checker == -4)
49
            checker = collision_rectangle(132, 292, 508, 316, object_index, true, false);
50
        if (checker == -4)
51
            checker = collision_rectangle(132, 68, 156, 316, object_index, true, false);
52
        if (checker == -4)
53
            checker = collision_rectangle(484, 68, 508, 316, object_index, true, false);
54
        if (checker != -4)
55
            con = 99;
56
        else
57
            con = 2;
58
        x -= _xx;
59
        y -= _yy;
60
    }
61
    if (con == 2)
62
    {
63
        
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, x + _xx, pushspeed);
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; }
("y", y, y + _yy, pushspeed);
65
        timer = 0;
66
        con = 3;
67
    }
68
    if (con == 3)
69
    {
70
        timer++;
71
        if (timer >= pushspeed)
72
        {
73
            con = 98;
74
            timer = 0;
75
            global.interact = 0;
76
            
scr_board_gridreset
scr_board_gridreset

function
scr_board_gridreset()
{ with (obj_board_controller) grid_reset = true; }
();
77
        }
78
    }
79
    if (con == 98)
80
    {
81
        timer++;
82
        if (timer == 6)
83
        {
84
            safe_delete(mysolid);
85
            con++;
86
        }
87
    }
88
    if (con == 99)
89
        con = 0;
90
}
91
else if (daddy != 0)
92
{
93
    if (!(x >= 128 && x <= 512 && y >= 64 && y <= 320))
94
        instance_destroy();
95
}