Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_b1cactusfield1_Step_0

(view raw script w/o annotations or w/e)
1
if (kris == 0)
2
{
3
    with (obj_mainchara_board)
4
    {
5
        if (name == "kris")
6
            other.kris = id;
7
    }
8
}
9
if (susie == 0)
10
{
11
    with (obj_mainchara_board)
12
    {
13
        if (name == "susie")
14
            other.susie = id;
15
    }
16
}
17
if (ralsei == 0)
18
{
19
    with (obj_mainchara_board)
20
    {
21
        if (name == "ralsei")
22
            other.ralsei = id;
23
    }
24
}
25
if (active == 1 && obj_board_camera.con == 0)
26
{
27
    if (susiewalkcon == 0 && obj_board_camera.con == 0)
28
    {
29
        susietime++;
30
        if (susietime == 1)
31
            ralsei.follow = true;
32
        if (susietime >= 10)
33
        {
34
            if (!i_ex(obj_quizchaser) && !i_ex(obj_chaseenemy_board))
35
            {
36
                susiewalkcon = 1;
37
                susietime = 0;
38
            }
39
        }
40
    }
41
    if (susiewalkcon == 1)
42
    {
43
        var weedcount = 0;
44
        with (obj_board_grabbablegrass)
45
        {
46
            if (active)
47
                weedcount++;
48
        }
49
        if (global.flag[1020 got_power_croissant] == 0)
50
            weedcount = 0;
51
        if (weedcount != 0)
52
        {
53
            susiewalkcon = 10;
54
            with (obj_mainchara_board)
55
            {
56
                if (name == "susie")
57
                    sleepy = true;
58
            }
59
        }
60
        else
61
        {
62
            with (obj_mainchara_board)
63
            {
64
                if (name == "susie")
65
                    sleepy = true;
66
            }
67
            var go = choose(0, 1, 2);
68
            if (go == 0)
69
                
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", 1, irandom_range(1, 5), 0);
70
            if (go == 1)
71
                
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, choose(1, 2, 5, 6), 0);
72
            if (go == 2)
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", choose(3, 4, 7), 1, 0);
74
            susiewalkcon = 2;
75
        }
76
    }
77
    if (susiewalkcon == 10)
78
    {
79
        targ = instance_nearest(susie.x, susie.y, obj_board_grabbablegrass);
80
        if (i_ex(targ))
81
        {
82
            if (point_in_rectangle(targ.x, targ.y, board_tilex(0), board_tiley(0), board_tilex(11), board_tiley(7)))
83
            {
84
                
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", targ.x, targ.y, 2);
85
            }
86
            else
87
            {
88
                
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");
89
                targ = -4;
90
                debug_print("no target");
91
                susiewalkcon = 99;
92
                susie.sleepy = true;
93
                
scr_play_susie_recording
scr_play_susie_recording

function
scr_play_susie_recording(arg0)
{ with (obj_mainchara_board) { if (name == "susie") { susierecordcon = 2; susierecordcount = 0; susierecordstring = arg0; susierecordsave = false; } } }
("0W");
94
            }
95
        }
96
        susietime = 0;
97
        susiewalkcon = 11;
98
    }
99
    if (susiewalkcon == 11)
100
    {
101
        if (i_ex(targ))
102
        {
103
            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", targ.x, targ.y, 2))
104
            {
105
                
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");
106
                susietime = 0;
107
                susiewalkcon = 12;
108
            }
109
        }
110
    }
111
    if (susiewalkcon == 12)
112
    {
113
        susietime++;
114
        if (susietime == 5)
115
            
scr_play_susie_recording
scr_play_susie_recording

function
scr_play_susie_recording(arg0)
{ with (obj_mainchara_board) { if (name == "susie") { susierecordcon = 2; susierecordcount = 0; susierecordstring = arg0; susierecordsave = false; } } }
("0101");
116
        if (susietime == 45)
117
            susiewalkcon = 0;
118
    }
119
    if (rawalk == 0 && obj_board_camera.con == 0)
120
    {
121
        ralsei.follow = false;
122
        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; }
("ralsei", kris.x, kris.y, 16))
123
        {
124
            rawalk = 1;
125
            
scr_board_caterpillar_interpolate_ralsei
scr_board_caterpillar_interpolate_ralsei

function
scr_board_caterpillar_interpolate_ralsei()
{ var _ralsei = obj_board_controller.ralsei_object; if (_ralsei != -1) { with (_ralsei) { for (i = 0; i < 75; i += 1) { remx[i] = x; remy[i] = y; facing[i] = 0; } } var _a = 0; var _dir = point_direction(_ralsei.x, _ralsei.y, x, y); repeat (_ralsei.ralsei_target) { _ralsei.remx[_a] = lerp(obj_board_controller.kris_object.x, _ralsei.x, _a / _ralsei.ralsei_target); _ralsei.remy[_a] = lerp(obj_board_controller.kris_object.y, _ralsei.y, _a / _ralsei.ralsei_target); if (_dir >= 45 && _dir < 135) _ralsei.facingdir[_a] = 2; else if (_dir >= 135 && _dir < 225) _ralsei.facingdir[_a] = 3; else if (_dir >= 225 && _dir < 315) _ralsei.facingdir[_a] = 0; else if (_dir >= 315 || _dir < 45) _ralsei.facingdir[_a] = 1; _a++; } } }
();
126
            ralsei.follow = true;
127
        }
128
    }
129
    if (rawalk == 1 && obj_board_camera.con == 0)
130
    {
131
        if (kris.iframes > 0)
132
        {
133
            rawalk = 2;
134
            if (ralsei.x > 372)
135
                
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", 10, 2, 0);
136
            else
137
                
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", 7, 1, 0);
138
        }
139
    }
140
    if (rawalk == 2 && kris.iframes <= 0)
141
    {
142
        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; }
("ralsei", board_tilex(10), board_tiley(2), 2) ||
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; }
("ralsei", board_tilex(7), board_tiley(1), 2))
143
            rawalk = 0;
144
    }
145
}
146
else
147
{
148
    rawalk = 0;
149
    suwalktimer = 0;
150
    con = 0;
151
    timer = 0;
152
    susiewalkcon = 0;
153
    suplay = -1;
154
    susiewalkcon = 0;
155
    susietime = 0;
156
}