Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_quizsequence_Other_10

(view raw script w/o annotations or w/e)
1
var susStart = susiecoord;
2
if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
() && con == 3 && keyboard_check_pressed(ord("2")))
3
{
4
    ssel = false;
5
    sCon = 0;
6
    stimer = 0;
7
    susBehavior++;
8
    if (susBehavior > 3)
9
        susBehavior = 0;
10
    var _b_desc = "";
11
    if (susBehavior == 0)
12
        _b_desc = "idle";
13
    else if (susBehavior == 1)
14
        _b_desc = "follow kris/ralsei";
15
    else if (susBehavior == 2)
16
        _b_desc = "\"stop copying me!\"";
17
    else if (susBehavior == 3)
18
        _b_desc = "bored/guessing";
19
    
scr_debug_print
scr_debug_print

function
scr_debug_print(arg0)
{ } function print_message(arg0) { } function debug_print(arg0) { } function scr_debug_clear_all() { }
("Susie behavior set to " + string(susBehavior) + " (" + _b_desc + ")");
20
}
21
if (ssel)
22
    exit;
23
var _can_answer = !board4 || myanswer != -1;
24
if (con == 4 && countdown <= 5 && myanswer != -1)
25
{
26
    starget = susiecoord;
27
    stimer = 0;
28
    schoose = 1;
29
    sCon = -1;
30
}
31
var _followTarget = (ralBehavior == 2 && susBehavior <= 3) ? ralseicoord : menucoord[0];
32
if (schoose == 1)
33
{
34
    if (sCon >= 0)
35
    {
36
        if (susBehavior != 1 || starget == susiecoord)
37
        {
38
            stimer = 10;
39
            sCon = -1;
40
        }
41
    }
42
    stimer--;
43
    if (stimer <= 0)
44
    {
45
        if (susiecoord == starget)
46
        {
47
            if (quizid == "ax")
48
                quizzler.su_ready = 418;
49
            ssel = true;
50
            if (i_ex(quizzler))
51
                quizzler.su_press = 4;
52
            choicepitch += 0.1;
53
        }
54
        else
55
        {
56
            if (susiecoord < starget)
57
                susiecoord++;
58
            else
59
                susiecoord--;
60
            stimer = 7;
61
        }
62
    }
63
}
64
else if (con == 4 && schoose == 0)
65
{
66
    if (quizid == "hathy" && menucoord[0] == 0)
67
    {
68
        scr_createquizcomment(stringsetloc(
You wish, dumbass. Haha.
"You wish, dumbass. Haha.", "obj_quizsequence_slash_Other_10_gml_60_0"
), 1);
69
        schoose = -1;
70
    }
71
    else if (quizid == "puppetshow")
72
    {
73
    }
74
    else if (quizid == "forest")
75
    {
76
        if (menucoord[0] == 3)
77
        {
78
            scr_createquizcomment(stringsetloc(
Kris, are you stupid? Haha.
"Kris, are you stupid? Haha.", "obj_quizsequence_slash_Other_10_gml_67_0"
), 1);
79
            schoose = 1;
80
            starget = su_guess;
81
        }
82
        else
83
        {
84
            if (menucoord[0] != 2)
85
                scr_createquizcomment(stringsetloc(
Yeah, that one.
"Yeah, that one.", "obj_quizsequence_slash_Other_10_gml_76_0"
), 1);
86
            schoose = 1;
87
            starget = menucoord[0];
88
        }
89
    }
90
    else if (quizid == "favfood")
91
    {
92
        scr_createquizcomment(stringsetloc(
Uhh, well,#you'd know.
"Uhh, well,#you'd know.", "obj_quizsequence_slash_Other_10_gml_83_0"
), 1);
93
        schoose = 1;
94
        starget = menucoord[0];
95
    }
96
    else if (_can_answer)
97
    {
98
        schoose = 1;
99
        starget = menucoord[0];
100
    }
101
}
102
else if (con == 4 && schoose == -1)
103
{
104
    schoose = 1;
105
    stimer = 10;
106
    if (su_guess < 0)
107
        su_guess = irandom(3);
108
    starget = su_guess;
109
}
110
else if (commenttimer >= su_wait && su_guess >= 0 && _can_answer)
111
{
112
    schoose = 1;
113
    starget = su_guess;
114
}
115
else
116
{
117
    switch (susBehavior)
118
    {
119
        case 0:
120
            stimer--;
121
            if (stimer < 0 && susiecoord != starget)
122
            {
123
                if (susiecoord == 0 && starget == 3)
124
                    susiecoord = 3;
125
                else if (susiecoord == 3 && starget == 0)
126
                    susiecoord = 0;
127
                else if (susiecoord < starget)
128
                    susiecoord++;
129
                else
130
                    susiecoord--;
131
                stimer = 10;
132
            }
133
            break;
134
        case 1:
135
            if (susbuffer > 0)
136
            {
137
                susbuffer--;
138
                if (susbuffer <= 0)
139
                {
140
                    stimer = 0;
141
                    starget = _followTarget;
142
                }
143
            }
144
            stimer--;
145
            if (stimer < 0 && susiecoord != starget)
146
            {
147
                if (susiecoord == 0 && starget == 3)
148
                    susiecoord = 3;
149
                else if (susiecoord == 3 && starget == 0)
150
                    susiecoord = 0;
151
                else if (susiecoord < starget)
152
                    susiecoord++;
153
                else
154
                    susiecoord--;
155
                stimer = 5;
156
            }
157
            break;
158
        case 2:
159
            if (sCon == 0)
160
            {
161
                starget = irandom(1);
162
                if (starget == menucoord[0])
163
                    starget++;
164
                sCon = 1;
165
                stimer = 8;
166
            }
167
            if (susbuffer > 0)
168
            {
169
                susbuffer--;
170
                if (susbuffer <= 0)
171
                {
172
                    stimer = 0;
173
                    starget = irandom(1);
174
                    if (starget == menucoord[0])
175
                        starget++;
176
                }
177
            }
178
            stimer--;
179
            if (stimer < 0 && susiecoord != starget)
180
            {
181
                if (susiecoord == 0 && starget == 3)
182
                    susiecoord = 3;
183
                else if (susiecoord == 3 && starget == 0)
184
                    susiecoord = 0;
185
                else if (susiecoord < starget)
186
                    susiecoord++;
187
                else
188
                    susiecoord--;
189
                stimer = 5;
190
            }
191
            break;
192
        case 3:
193
            if (sCon == 0)
194
            {
195
                soffset = 0;
196
                sflipcount = 0;
197
                sCon = 1;
198
                stimer = 15;
199
            }
200
            stimer--;
201
            if (stimer <= 0)
202
            {
203
                if (sCon == 1)
204
                {
205
                    sflipcount++;
206
                    susiecoord = sflipcount % 2;
207
                    var _diff = clamp(soffset + irandom_range(-1, 1), -1, 1);
208
                    if (sflipcount == 33)
209
                    {
210
                        stimer = 27;
211
                        sCon = 2;
212
                    }
213
                    else if (sflipcount >= 20)
214
                    {
215
                        stimer = (5 + _diff) - soffset;
216
                    }
217
                    else if (sflipcount >= 10)
218
                    {
219
                        stimer = (12 + _diff) - soffset;
220
                    }
221
                    else
222
                    {
223
                        stimer = (15 + _diff) - soffset;
224
                    }
225
                    soffset = _diff;
226
                }
227
                else if (sCon == 2)
228
                {
229
                    susiecoord = irandom(2);
230
                    sCon = 3;
231
                    stimer = 10;
232
                }
233
            }
234
            else if (sCon == 3)
235
            {
236
                ssel = true;
237
                sCon = 4;
238
            }
239
            break;
240
    }
241
}
242
if (susStart != susiecoord)
243
{
244
    var _susMenuSnd = snd_play_pitch(snd_menumove, 0.9);
245
    snd_volume(_susMenuSnd, 0.6, 0);
246
    if (i_ex(quizzler))
247
        quizzler.su_press = 3;
248
}
249
if (ssel)
250
    snd_play_pitch(snd_select, choicepitch);