Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_teevie_spring_Step_0

(view raw script w/o annotations or w/e)
1
if (kris == 0)
2
{
3
    with (obj_mainchara)
4
        other.kris = id;
5
}
6
if (susie == 0)
7
{
8
    with (obj_caterpillarchara)
9
    {
10
        if (name == "susie")
11
            other.susie = id;
12
    }
13
}
14
if (ralsei == 0)
15
{
16
    with (obj_caterpillarchara)
17
    {
18
        if (name == "ralsei")
19
            other.ralsei = id;
20
    }
21
}
22
if (bossinit == 0)
23
{
24
    bossinit = 1;
25
    if (global.flag[1252 goulden_son_destination] == 1)
26
    {
27
        if (name == "left")
28
            boss = 1;
29
        else
30
            boss = -1;
31
    }
32
    if (global.flag[1252 goulden_son_destination] == 2)
33
    {
34
        if (name == "left")
35
            boss = -1;
36
        else
37
            boss = 1;
38
    }
39
}
40
if (con == 1)
41
{
42
    global.interact = 1;
43
    global.msc = -99;
44
    global.choice = -1;
45
    
scr_speaker
scr_speaker

function
scr_speaker(arg0)
{ _speaker = arg0; global.typer = 5; if (global.darkzone == 1) global.typer = 6; if (global.fighting == 1) global.typer = 4; global.fc = 0; global.fe = 0; if (_speaker == "silent" && global.darkzone == 0) global.typer = 2; if (_speaker == "silent" && global.darkzone == 1) global.typer = 36; if (_speaker == "balloon" || _speaker == "enemy") global.typer = 50; if (_speaker == "sans") { global.typer = 14; global.fc = 6; } if (_speaker == "undyne" || _speaker == "und") { global.typer = 17; global.fc = 9; } if (_speaker == "temmie" || _speaker == "tem") global.typer = 21; if (_speaker == "jevil") global.typer = 35; if (_speaker == "catti") global.fc = 13; if (_speaker == "jockington" || _speaker == "joc") global.fc = 14; if (_speaker == "catty" || _speaker == "caddy") global.fc = 16; if (_speaker == "bratty" || _speaker == "bra") global.fc = 17; if (_speaker == "rouxls" || _speaker == "rou") global.fc = 18; if (_speaker == "burgerpants" || _speaker == "bur") global.fc = 19; if (_speaker == "spamton") { if (global.fighting == 0) global.typer = 66; else global.typer = 68; } if (_speaker == "sneo") global.typer = 67; if (_speaker == "tenna") { global.typer = 80; if (global.fighting == 1) global.typer = 81; } if (_speaker == "susie" || _speaker == "sus") { global.fc = 1; global.typer = 10; if (global.darkzone == 1) { global.typer = 30; if (global.fighting == 1) global.typer = 47; } } if (_speaker == "ralsei" || _speaker == "ral") { global.fc = 2; global.typer = 31; if (global.fighting == 1) global.typer = 45; if (global.flag[30 ralsei_hat_state] == 1) global.typer = 6; } if (_speaker == "noelle" || _speaker == "noe") { global.fc = 3; if (global.darkzone == 0) global.typer = 12; else global.typer = 56; if (global.fighting == 1) global.typer = 59; } if (_speaker == "toriel" || _speaker == "tor") { global.fc = 4; global.typer = 7; } if (_speaker == "asgore" || _speaker == "asg") { global.fc = 10; global.typer = 18; } if (_speaker == "king" || _speaker == "kin") { global.fc = 20; global.typer = 33; ...
("gouldenson");
46
    if (boss == 0)
47
    {
48
        boss = 1;
49
        with (object_index)
50
        {
51
            if (boss == 0)
52
                boss = -1;
53
        }
54
        if (name == "left" && boss)
55
            global.flag[1252 goulden_son_destination] = 1;
56
        else
57
            global.flag[1252 goulden_son_destination] = 2;
58
    }
59
    global.choicemsg[0] = stringsetloc(
#Yes
"#Yes", "obj_teevie_spring_slash_Step_0_gml_40_0"
);
60
    global.choicemsg[1] = stringsetloc(
#No
"#No", "obj_teevie_spring_slash_Step_0_gml_41_0"
);
61
    global.choicemsg[3] = "";
62
    global.choicemsg[4] = "";
63
    if (boss)
64
    {
65
        global.choicemsg[2] = stringsetloc(
Tell of #Goulden Son 2
"Tell of #Goulden Son 2", "obj_teevie_spring_slash_Step_0_gml_47_0"
);
66
        if (global.flag[flag] == 2)
67
            global.choicemsg[2] = stringsetloc(
Tell of #Goulden Son 3
"Tell of #Goulden Son 3", "obj_teevie_spring_slash_Step_0_gml_48_0"
);
68
        if (global.flag[flag] < 2)
69
        {
70
            msgsetloc(0, 
* I'm Goulden Son. I wish there was a Goulden Son 2.Wait for input
"* I'm Goulden Son. I wish there was a Goulden Son 2./", "obj_teevie_spring_slash_Step_0_gml_52_0"
);
71
            msgnextloc(
* If I send you to the other side,Delay 11 will you check for one?Wait for input
"* If I send you to the other side^1, will you check for one?/", "obj_teevie_spring_slash_Step_0_gml_53_0"
);
72
        }
73
        if (global.flag[flag] >= 1.5)
74
            msgsetloc(0, 
* I'm Goulden Son. Shall I send you to the other side?Wait for input
"* I'm Goulden Son. Shall I send you to the other side?/", "obj_teevie_spring_slash_Step_0_gml_57_0"
);
75
        if (global.flag[flag] >= 3)
76
            msgsetloc(0, 
* I'm Goulden Son 3. Shall I send you to the other side?Wait for input
"* I'm Goulden Son 3. Shall I send you to the other side?/", "obj_teevie_spring_slash_Step_0_gml_62_0"
);
77
        if (global.flag[flag] == 0 || global.flag[flag] == 1.5 || global.flag[flag] == 3 || global.flag[flag] == 4)
78
            msgnextloc(
Choice type 2
"\\C2 ", "obj_teevie_spring_slash_Step_0_gml_68_0"
);
79
        else
80
            msgnextloc(
Choice type 3
"\\C3 ", "obj_teevie_spring_slash_Step_0_gml_69_0"
);
81
    }
82
    if (!boss)
83
    {
84
        if (global.flag[flag] == 0)
85
            global.flag[flag] = 1;
86
        global.choicemsg[2] = stringsetloc(
Tell of #Goulden Son
"Tell of #Goulden Son", "obj_teevie_spring_slash_Step_0_gml_76_0"
);
87
        if (global.flag[flag] == 3)
88
            global.choicemsg[2] = stringsetloc(
Tell of #Goulden Son 3
"Tell of #Goulden Son 3", "obj_teevie_spring_slash_Step_0_gml_77_0"
);
89
        if (global.flag[flag] <= 3)
90
        {
91
            msgsetloc(0, 
* I'm Goulden Son 2. I wish there was a Goulden Son 3.Wait for input
"* I'm Goulden Son 2. I wish there was a Goulden Son 3./", "obj_teevie_spring_slash_Step_0_gml_81_0"
);
92
            msgnextloc(
* If I send you to the other side,Delay 11 will you check for one?Wait for input
"* If I send you to the other side^1, will you check for one?/", "obj_teevie_spring_slash_Step_0_gml_82_0"
);
93
            if (global.flag[flag] == 2)
94
                msgnextloc(
Choice type 2
"\\C2 ", "obj_teevie_spring_slash_Step_0_gml_84_0"
);
95
            else
96
                msgnextloc(
Choice type 3
"\\C3 ", "obj_teevie_spring_slash_Step_0_gml_85_0"
);
97
        }
98
        else
99
        {
100
            msgsetloc(0, 
* I'm Goulden Son 2. Shall I send you to the other side?Wait for input
"* I'm Goulden Son 2. Shall I send you to the other side?/", "obj_teevie_spring_slash_Step_0_gml_89_0"
);
101
            msgnextloc(
Choice type 2
"\\C2 ", "obj_teevie_spring_slash_Step_0_gml_90_0"
);
102
        }
103
    }
104
    d_make();
105
    con = 2;
106
}
107
if (con == 2 && global.choice != -1)
108
{
109
    k_d(1);
110
    if (global.choice == 0)
111
    {
112
        con = 3;
113
        timer = 0;
114
    }
115
    if (global.choice == 1)
116
    {
117
        global.facing = 0;
118
        global.interact = 0;
119
        con = 0;
120
    }
121
    if (global.choice == 2)
122
        con = 10;
123
}
124
if (con == 3)
125
{
126
    timer++;
127
    var jumptime = 20;
128
    var bouncedelay = 10;
129
    var targx = x + 24;
130
    var targy = y - 22;
131
    if (timer == 1)
132
    {
133
        snd_play(snd_jump);
134
        snd_play_delay(snd_noise, jumptime);
135
        scr_delay_var("image_index", 1, jumptime);
136
        with (obj_mainchara)
137
        {
138
            fun = 1;
139
            cutscene = true;
140
            sprite_index = spr_kris_jump_ball_fixed;
141
            image_speed = 0.25;
142
            
scr_jump_to_point
scr_jump_to_point

function
scr_jump_to_point(arg0, arg1, arg2, arg3, arg4 = 0)
{ var ___jump =
scr_jump_to_point_sprite(arg0, arg1, arg2, arg3, 0, 0);
with (___jump) { trackalpha = arg4; trackblend = arg4; trackindex = arg4; tracksprite = arg4; } return ___jump; }
(targx + 14, targy - 2, jumptime, 20, true);
143
            scr_delay_var("sprite_index", 49, jumptime);
144
            scr_delay_var("image_speed", 0, jumptime);
145
            scr_delay_var("image_index", 0, jumptime);
146
            scr_delay_var("image_index", 1, jumptime + 2);
147
            ignoredepth = true;
148
            depth = other.depth - 3;
149
        }
150
        with (obj_caterpillarchara)
151
        {
152
            follow = false;
153
            fun = 1;
154
            ignoredepth = true;
155
            if (name == "susie")
156
            {
157
                var xoff = -14;
158
                var yoff = -22;
159
                sprite_index = spr_susie_dw_jump_ball_fixed;
160
                
scr_jump_to_point
scr_jump_to_point

function
scr_jump_to_point(arg0, arg1, arg2, arg3, arg4 = 0)
{ var ___jump =
scr_jump_to_point_sprite(arg0, arg1, arg2, arg3, 0, 0);
with (___jump) { trackalpha = arg4; trackblend = arg4; trackindex = arg4; tracksprite = arg4; } return ___jump; }
(targx + xoff, targy + yoff, jumptime, 20, true);
161
                scr_delay_var("sprite_index", 66, jumptime);
162
                scr_delay_var("image_speed", 0, jumptime);
163
                scr_delay_var("image_index", 0, jumptime);
164
                scr_delay_var("image_index", 1, jumptime + 2);
165
                depth = other.depth - 2;
166
            }
167
            if (name == "ralsei")
168
            {
169
                var xoff = 36;
170
                var yoff = -12;
171
                sprite_index = spr_ralsei_jump_ball_fixed;
172
                
scr_jump_to_point
scr_jump_to_point

function
scr_jump_to_point(arg0, arg1, arg2, arg3, arg4 = 0)
{ var ___jump =
scr_jump_to_point_sprite(arg0, arg1, arg2, arg3, 0, 0);
with (___jump) { trackalpha = arg4; trackblend = arg4; trackindex = arg4; tracksprite = arg4; } return ___jump; }
(targx + xoff, targy + yoff, jumptime, 20, true);
173
                scr_delay_var("sprite_index", 2629, jumptime);
174
                scr_delay_var("image_speed", 0, jumptime);
175
                scr_delay_var("image_index", 0, jumptime);
176
                scr_delay_var("image_index", 1, jumptime + 2);
177
                depth = other.depth - 2;
178
            }
179
        }
180
    }
181
    if (timer == (jumptime + bouncedelay))
182
    {
183
        
scr_shakeobj
scr_shakeobj

function
scr_shakeobj()
{ var _shakeobj = instance_create(x, y, obj_shakeobj); _shakeobj.target = id; if (argument_count >= 1) { if (i_ex(argument0)) _shakeobj.target = argument0; } if (argument_count >= 2) { if (argument1 != -1) _shakeobj.shakeamt = argument1; } if (argument_count >= 3) { if (argument2 != -1) _shakeobj.shakereduct = argument2; } with (_shakeobj) event_user(0); }
();
184
        snd_play(snd_wing);
185
        snd_play(snd_metalhit);
186
        snd_play_x(snd_jump, 0.9, 1.2);
187
        image_index = 2;
188
        scr_delay_var("image_index", 1, 5);
189
        scr_delay_var("image_index", 0, 6);
190
        with (obj_mainchara)
191
        {
192
            y -= 22;
193
            
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, cameray() - 120, 10, 2, "out");
194
            scr_delay_var("sprite_index", 4705, 2);
195
            scr_delay_var("image_speed", 0.25, 2);
196
        }
197
        with (obj_caterpillarchara)
198
        {
199
            y -= 22;
200
            
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, cameray() - 120, 10, 2, "out");
201
            if (name == "ralsei")
202
                scr_delay_var("sprite_index", 3949, 2);
203
            if (name == "susie")
204
                scr_delay_var("sprite_index", 449, 2);
205
            scr_delay_var("image_speed", 0.25, 2);
206
        }
207
    }
208
    if (timer == (jumptime + bouncedelay + 15))
209
    {
210
        if (x < (room_width / 2))
211
        {
212
            camdesx = room_width - 640;
213
            krx = 6116;
214
            kry = 284;
215
        }
216
        else
217
        {
218
            camdesx = 0;
219
            krx = 142;
220
            kry = 226;
221
        }
222
        sux = (krx - 80) + 28;
223
        suy = kry - 10 - 14;
224
        rax = (krx + 80) - 10 - 20;
225
        ray = (suy - 28) + 32;
226
        timer = 0;
227
        con++;
228
    }
229
}
230
if (con == 4)
231
{
232
    camerax_set(camdesx);
233
    timer = 0;
234
    con = 5;
235
}
236
if (con == 5)
237
{
238
    var halttime = 60;
239
    timer++;
240
    if (timer == 1)
241
    {
242
        global.facing = 0;
243
        with (kris)
244
        {
245
            depth = 100000 - ((other.kry * 10) + (sprite_height * 10));
246
            x = other.krx;
247
            gravity = 2;
248
            vspeed = 8;
249
            scr_limitval_upper(id, "y", other.kry, halttime);
250
            scr_delay_var("gravity", 0, 58);
251
            scr_delay_var("vspeed", 0, 58);
252
        }
253
        with (ralsei)
254
        {
255
            vspeed = 8;
256
            depth = 100000 - ((other.ray * 10) + (sprite_height * 10));
257
            x = other.rax;
258
            gravity = 2;
259
            scr_limitval_upper(id, "y", other.ray, halttime);
260
            scr_delay_var("gravity", 0, 58);
261
            scr_delay_var("vspeed", 0, 58);
262
        }
263
        with (susie)
264
        {
265
            vspeed = 8;
266
            depth = 100000 - ((other.suy * 10) + (sprite_height * 10));
267
            x = other.sux;
268
            gravity = 2;
269
            scr_limitval_upper(id, "y", other.suy, halttime);
270
            scr_delay_var("gravity", 0, 58);
271
            scr_delay_var("vspeed", 0, 58);
272
        }
273
    }
274
    if (timer > 1)
275
    {
276
        if (krarrived == 0)
277
        {
278
            var arrived = false;
279
            if (!i_ex(kris))
280
                arrived = true;
281
            if (kris.y >= (kry - 1))
282
            {
283
                arrived = true;
284
                snd_stop(snd_noise);
285
                snd_play(snd_noise);
286
                kris.sprite_index = spr_kris_dw_landed;
287
                kris.image_speed = 0;
288
                kris.image_index = 0;
289
                with (kris)
290
                    scr_delay_var("image_index", 1, 2);
291
                with (kris)
292
                    scr_delay_var("fun", 0, 4);
293
                kris.gravity = 0;
294
                kris.speed = 0;
295
                kris.y = kry;
296
                kris.ignoredepth = false;
297
            }
298
            if (arrived == true)
299
                krarrived = 1;
300
        }
301
        if (suarrived == 0)
302
        {
303
            var arrived = false;
304
            if (!i_ex(susie))
305
            {
306
                arrived = true;
307
            }
308
            else if (susie.y >= (suy - 1))
309
            {
310
                arrived = true;
311
                susie.sprite_index = spr_susie_dw_landed;
312
                susie.image_speed = 0;
313
                susie.image_index = 0;
314
                with (susie)
315
                    scr_delay_var("image_index", 1, 2);
316
                with (susie)
317
                    scr_delay_var("fun", 0, 4);
318
                susie.ignoredepth = false;
319
            }
320
            if (arrived == true)
321
                suarrived = 1;
322
        }
323
        if (raarrived == 0)
324
        {
325
            var arrived = false;
326
            if (!i_ex(ralsei))
327
            {
328
                rarrived = 1;
329
            }
330
            else if (ralsei.y >= (ray - 1))
331
            {
332
                arrived = true;
333
                ralsei.sprite_index = spr_teacup_ralsei_land;
334
                ralsei.image_speed = 0;
335
                ralsei.image_index = 0;
336
                with (ralsei)
337
                    scr_delay_var("image_index", 1, 2);
338
                with (ralsei)
339
                    scr_delay_var("fun", 0, 4);
340
                ralsei.ignoredepth = false;
341
            }
342
            if (arrived == true)
343
                raarrived = 1;
344
        }
345
        if (krarrived && suarrived && raarrived && kris.fun == 0)
346
        {
347
            timer = 0;
348
            con++;
349
        }
350
    }
351
}
352
if (con == 6)
353
{
354
    with (obj_mainchara)
355
    {
356
        gravity = 0;
357
        vspeed = 0;
358
    }
359
    with (obj_caterpillarchara)
360
    {
361
        gravity = 0;
362
        vspeed = 0;
363
    }
364
    with (obj_limit_val)
365
    {
366
        if (target.object_index == obj_mainchara || target.object_index == obj_caterpillarchara)
367
            instance_destroy();
368
    }
369
    kris.cutscene = false;
370
    susie = 0;
371
    with (obj_caterpillarchara)
372
    {
373
        
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; } }
();
374
        follow = true;
375
    }
376
    with (object_index)
377
    {
378
        global.interact = 0;
379
        timer = 0;
380
        con = 0;
381
        image_index = 0;
382
        krarrived = 0;
383
        suarrived = 0;
384
        raarrived = 0;
385
    }
386
}
387
if (con == 10)
388
{
389
    if (boss)
390
    {
391
        if (global.flag[flag] == 1)
392
        {
393
            global.flag[flag] = 1.5;
394
            msgsetloc(0, 
* I'm overjoyed. I always wanted another Son to be my brother or sister.Wait for inputClose Message
"* I'm overjoyed. I always wanted another Son to be my brother or sister./%", "obj_teevie_spring_slash_Step_0_gml_391_0"
);
395
        }
396
        if (global.flag[flag] == 2)
397
        {
398
            global.flag[flag] = 3;
399
            msgsetloc(0, 
* I see. They want another brother or sister.Wait for input
"* I see. They want another brother or sister./", "obj_teevie_spring_slash_Step_0_gml_396_0"
);
400
            msgnextloc(
* Then,Delay 11 I will change my name to Goulden Son 3.Wait for inputClose Message
"* Then^1, I will change my name to Goulden Son 3./%", "obj_teevie_spring_slash_Step_0_gml_397_0"
);
401
        }
402
        d_make();
403
        con = 11;
404
    }
405
    if (!boss)
406
    {
407
        if (global.flag[flag] < 3)
408
        {
409
            if (global.flag[flag] == 1 || global.flag[flag] == 1.5)
410
                global.flag[flag] = 2;
411
            msgsetloc(0, 
* No,Delay 11 no. I already knew that there was Goulden Son 1.Wait for input
"* No^1, no. I already knew that there was Goulden Son 1./", "obj_teevie_spring_slash_Step_0_gml_410_0"
);
412
            msgnextloc(
* That's why I'm Goulden Son 2. Of course there must be a first one.Wait for input
"* That's why I'm Goulden Son 2. Of course there must be a first one./", "obj_teevie_spring_slash_Step_0_gml_411_0"
);
413
            msgnextloc(
* However,Delay 11 I always wanted another Son as a second brother or sister.Wait for input
"* However^1, I always wanted another Son as a second brother or sister./", "obj_teevie_spring_slash_Step_0_gml_412_0"
);
414
            msgnextloc(
* You know. It's hard being the only sibling with a number in their name.Wait for inputClose Message
"* You know. It's hard being the only sibling with a number in their name./%", "obj_teevie_spring_slash_Step_0_gml_413_0"
);
415
        }
416
        if (global.flag[flag] == 3)
417
        {
418
            msgsetloc(0, 
* What? The first Goulden Son became Goulden Son 3? What the...Wait for input
"* What? The first Goulden Son became Goulden Son 3? What the.../", "obj_teevie_spring_slash_Step_0_gml_417_0"
);
419
            msgnextloc(
* That's just perfect. I'm overjoyed.Wait for inputClose Message
"* That's just perfect. I'm overjoyed./%", "obj_teevie_spring_slash_Step_0_gml_418_0"
);
420
            global.flag[flag] = 4;
421
        }
422
        d_make();
423
        con = 11;
424
    }
425
}
426
if (con == 11 && !d_ex())
427
{
428
    con = 0;
429
    global.interact = 0;
430
}