Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_b1quiz_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 (tenna == 0)
26
    tenna = obj_actor_tenna;
27
if (rareal == 0)
28
{
29
    with (obj_caterpillarchara)
30
    {
31
        if (name == "ralsei")
32
            other.rareal = id;
33
    }
34
}
35
if (active == 1)
36
{
37
    if (con == 0 && obj_board_camera.con == 0)
38
    {
39
        if (vcon == 0)
40
        {
41
            vcontimer = 0;
42
            vcon = 1;
43
        }
44
        con = 1;
45
    }
46
    if (susiewalkcon == 0 && obj_board_camera.con == 0)
47
    {
48
        susietime++;
49
        if (susietime == 1)
50
            ralsei.follow = true;
51
        if (susietime >= 10)
52
        {
53
            if (!i_ex(obj_quizchaser) && !i_ex(obj_chaseenemy_board))
54
            {
55
                susiewalkcon = 1;
56
                susietime = 0;
57
            }
58
            var potsinstead = false;
59
            if (global.flag[1020 got_power_croissant] == 1 && (!i_ex(obj_quizchaser) || susie.y > 266))
60
            {
61
                with (obj_board_grabbleObject)
62
                {
63
                    if (active)
64
                        potsinstead = true;
65
                }
66
            }
67
            if (potsinstead == true)
68
            {
69
                debug_print("pots instead!");
70
                susie.graballpots = true;
71
                susiewalkcon = 99;
72
            }
73
        }
74
    }
75
    if (susiewalkcon == 99)
76
    {
77
        var potcount = 0;
78
        with (obj_board_grabbleObject)
79
        {
80
            if (active)
81
                potcount++;
82
        }
83
        if (potcount == 0)
84
        {
85
            susiewalkcon = 0;
86
            susietime = -30;
87
        }
88
    }
89
    if (susiewalkcon == 1)
90
    {
91
        var weedcount = 0;
92
        with (obj_board_grabbablegrass)
93
        {
94
            if (active)
95
                weedcount++;
96
        }
97
        if (global.flag[1020 got_power_croissant] == 0)
98
            weedcount = 0;
99
        if (weedcount != 0)
100
        {
101
            susiewalkcon = 10;
102
        }
103
        else
104
        {
105
            
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", 5, 2, 0);
106
            susiewalkcon = 2;
107
        }
108
    }
109
    if (susiewalkcon == 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; }
("susie", 5, 2, 4))
110
    {
111
        susietime++;
112
        if (susietime == 1)
113
        {
114
            
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");
115
            var rand = choose(0, 0, 0, 1);
116
            if (rand == 0)
117
                
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", 7, choose(2, 3), 0);
118
            if (rand == 1)
119
            {
120
                var sustring = choose("0RD0R0R0R0RU0RU0U0U0LU0L0L0L0LD0D0D0RD0R0R0R0RU0RU0U0LU0L0L0L0L0LD0D0D0RD0R0R0R0RU0U0U0LU0L0L0L0L0LD0D0RD0R0R0D0", "0D0D0D0D0R0R0R0R0R0R0R0R0R0RU0U0U0U0U0U0LU0L0L0L0L0L0L0L0LD0D0D0D0D0D0L0L0L0L0L0L0L0L0L0LU0U0U0U0U0R0R0R0R0R0R0R0R0RD0RD0D0D0D0D0D0R0R0R0R0R0R0R0R0RU0U0U0U0U0U0U0LU0L0L0L0L0L0L0L0LD0D0D0D0D0D0D0LD0L0L0L0L0L0L0L0LU0U0U0U0U0RU0R0R0R0R0R0R0R0R0RD0RD0D0D0D0D0D0RD0R0R0R0R0R0RU0RU0U0U0U0U0U0U0LU0L0L0L0L0L0L0L0LD0D0D0D0D0D");
121
                
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", sustring);
122
            }
123
            susie.sleepy = true;
124
        }
125
    }
126
    if (susiewalkcon == 10)
127
    {
128
        targ = instance_nearest(susie.x, susie.y, obj_board_grabbablegrass);
129
        if (i_ex(targ))
130
        {
131
            if (point_in_rectangle(targ.x, targ.y, board_tilex(0), board_tiley(0), board_tilex(11), board_tiley(7)))
132
            {
133
                
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, 0);
134
            }
135
            else
136
            {
137
                
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");
138
                targ = -4;
139
                debug_print("no target");
140
                susiewalkcon = 99;
141
                susie.sleepy = true;
142
                
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");
143
            }
144
        }
145
        susietime = 0;
146
        susiewalkcon = 11;
147
    }
148
    if (susiewalkcon == 11)
149
    {
150
        if (i_ex(targ))
151
        {
152
            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))
153
            {
154
                
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");
155
                susietime = 0;
156
                susiewalkcon = 12;
157
            }
158
        }
159
    }
160
    if (susiewalkcon == 12)
161
    {
162
        susietime++;
163
        if (susietime == 5)
164
            
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");
165
        if (susietime == 45)
166
            susiewalkcon = 0;
167
    }
168
}
169
else
170
{
171
    con = 0;
172
    timer = 0;
173
    susiewalkcon = 0;
174
    susietime = 0;
175
}
176
if (vcon == 1 && obj_board_camera.con == 0)
177
{
178
    tenna.bounce = 1;
179
    var tetalk = stringsetloc(
Quiz vortex! Watch out!
"Quiz vortex! Watch out!", "obj_b1quiz_slash_Step_0_gml_154_0"
);
180
    
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; }
(tetalk, "tenna", 2, 75);
181
    if (kris.y >= 268)
182
        vcon = -99;
183
    else
184
        vcon = 2;
185
}
186
if (vcon == 2)
187
{
188
    var docheck = 0;
189
    if (x >= 128 && x <= 512 && y >= 64 && y <= 320)
190
        docheck = 1;
191
    if (docheck)
192
    {
193
        if (i_ex(obj_quizsequence))
194
        {
195
            vcontimer = 0;
196
            vcon = 200;
197
        }
198
    }
199
}
200
if (vcon == 200)
201
{
202
    if (!i_ex(obj_quizsequence))
203
    {
204
        vcontimer++;
205
        if (vcontimer == 8)
206
        {
207
            with (obj_actor_tenna)
208
                bounce = 1;
209
            var tetalk = stringsetloc(
Solve the Quiz, get a Q!!!
"Solve the Quiz, get a Q!!!", "obj_b1quiz_slash_Step_0_gml_191_0"
);
210
            
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; }
(tetalk, "tenna", 2, 90);
211
            vcontimer = 0;
212
            vcon++;
213
        }
214
    }
215
}
216
if (vcon >= 201 && vcontimer > 15 && !active)
217
{
218
    vcon = -1;
219
    suwalktimer = 0;
220
}