Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_dalv_Step_0

(view raw script w/o annotations or w/e)
1
script_execute(scr_depth, 0, 0, 0, 0, 0);
2
if (fadeout == true)
3
    scr_npc_fade
scr_npc_fade

function scr_npc_fade() { solid = false; if (image_alpha > 0) image_alpha -= 0.2; if (image_alpha == 0 && fade_kill == true) instance_destroy(); }
();
4
if (room == rm_darkruins_07 && global.flag[25 Dalv meeting cutscene] == 1)
5
{
6
    instance_destroy();
7
    exit;
8
}
9
if (!instance_exists(obj_pl))
10
    exit;
11
if (room == rm_darkruins_07)
12
{
13
    if (global.flag[25 Dalv meeting cutscene] == 0)
14
    {
15
        if (obj_pl.x > 800)
16
        {
17
            with (obj_radio)
18
                audio_sound_gain(bgm, 0, 1000);
19
            obj_pl.state = scr_frozen_state;
20
            global.cutscene = true;
21
            obj_pl.image_speed = 0;
22
            obj_pl.image_index = 0;
23
            if (timer < 130 || (timer >= 132 && timer < 210) || (timer >= 212 && timer < 235) || (timer >= 237 && timer < 350))
24
                timer++;
25
            if (timer == 30)
26
            {
27
                cam = instance_create(obj_pl.x, obj_pl.y, obj_camera);
28
                cam.speed = 2;
29
                __view_set(e__VW.Object, 0, obj_camera);
30
                direction = 0;
31
            }
32
            if (timer == 130)
33
            {
34
                speed = 0;
35
                image_speed = 0;
36
                image_index = 0;
37
                if (!instance_exists(obj_dialogue))
38
                    msg = instance_create(x, y, obj_dialogue);
39
                with (msg)
40
                {
41
                    sndfnt = 100;
42
                    message[0] = "* Hello...";
43
                    message[1] = "* I'm happy to finally meet you#  face to face.";
44
                    message[2] = "* How long has it been?";
45
                    message[3] = "* I was wondering if you'd ever#  come back...";
46
                    message[4] = "* ...";
47
                    message[5] = "* No... too forward.";
48
                    message[6] = "* Who am I kidding? I'll never#  be able to meet you in this#  state.";
49
                    message[7] = "* I just hope you know... I had#  no choice. It must be this way.";
50
                    portrait = false;
51
                }
52
                timer++;
53
            }
54
            if (timer == 131 && !instance_exists(obj_dialogue))
55
            {
56
                speed = 0.6;
57
                timer++;
58
            }
59
            if (timer == 210)
60
            {
61
                image_speed = 0;
62
                image_index = 0;
63
                speed = 0;
64
                if (!instance_exists(obj_dialogue))
65
                    msg = instance_create(x, y, obj_dialogue);
66
                with (msg)
67
                {
68
                    sndfnt = 100;
69
                    message[0] = "* ...";
70
                    message[1] = "* Huh?";
71
                    portrait = false;
72
                }
73
                timer++;
74
            }
75
        }
76
        if (timer == 211 && !instance_exists(obj_dialogue))
77
        {
78
            direction = 270;
79
            timer++;
80
        }
81
        if (timer == 221 && !instance_exists(obj_dialogue))
82
            direction = 180;
83
        if (timer == 235 && !instance_exists(obj_dialogue))
84
        {
85
            if (!instance_exists(obj_dialogue))
86
                msg = instance_create(x, y, obj_dialogue);
87
            with (msg)
88
            {
89
                portrait = false;
90
                sndfnt = 100;
91
                message[0] = "* Who...?";
92
                message[1] = "* I-I must be seeing things...";
93
            }
94
            timer++;
95
        }
96
        if (timer == 236 && !instance_exists(obj_dialogue))
97
        {
98
            direction = 180;
99
            image_speed = 0.1;
100
            speed = -0.25;
101
            timer++;
102
        }
103
        if (timer == 270 && !instance_exists(obj_dialogue))
104
        {
105
            image_speed = 0;
106
            image_index = 0;
107
            direction = 180;
108
            speed = 0;
109
        }
110
        if (timer == 310 && !instance_exists(obj_dialogue))
111
        {
112
            direction = 0;
113
            speed = 2;
114
        }
115
        if (timer == 350)
116
        {
117
            if (!instance_exists(obj_camera))
118
                cam2 = instance_create(1000, obj_pl.y, obj_camera);
119
            __view_set(e__VW.Object, 0, cam2);
120
            with (cam2)
121
            {
122
                direction = 180;
123
                speed = 3;
124
            }
125
            if (obj_camera.x <= obj_pl.x)
126
            {
127
                timer++;
128
                __view_set(e__VW.Object, 0, obj_pl);
129
                global.cutscene = false;
130
                obj_pl.state = scr_normal_state;
131
                global.flag[25 Dalv meeting cutscene] = 1;
132
                with (obj_radio)
133
                    audio_sound_gain(bgm, 1, 2000);
134
                with (cam2)
135
                    instance_destroy();
136
            }
137
        }
138
    }
139
}
140
if (room == rm_darkruins_10 && global.flag[3 Dalv second cutscene completion status] == true)
141
{
142
    instance_destroy();
143
    exit;
144
}
145
if (room == rm_darkruins_10 && global.flag[3 Dalv second cutscene completion status] == false)
146
{
147
    obj_rndenc.disabled = true;
148
    if (obj_pl.x > 420 && obj_pl.y < 240)
149
    {
150
        scr_cutscene_start
scr_cutscene_start

function scr_cutscene_start() { global.cutscene = true; obj_pl.state = scr_frozen_state; obj_pl.image_index = 0; obj_pl.image_speed = 0; }
();
151
        obj_pl.image_speed = 0;
152
        obj_pl.image_index = 0;
153
        if (timer < 30 || (timer >= 32 && timer < 110) || (timer >= 112 && timer < 250) || (timer >= 252 && timer < 310))
154
            timer++;
155
        if (timer == 30)
156
        {
157
            if (!instance_exists(obj_dialogue))
158
                msg = instance_create(x, y, obj_dialogue);
159
            with (msg)
160
            {
161
                sndfnt = 100;
162
                message[0] = "* Is it wrong to hold doubt in#  my actions?";
163
                portrait = false;
164
            }
165
            timer++;
166
        }
167
        if (timer == 31 && !instance_exists(obj_dialogue))
168
        {
169
            cam = instance_create(obj_pl.x, obj_pl.y, obj_camera);
170
            if (cam.x < 600)
171
                cam.speed = 3;
172
            else
173
                cam.speed = 0;
174
            __view_set(e__VW.Object, 0, obj_camera);
175
            timer++;
176
        }
177
        if (timer == 110)
178
        {
179
            if (!instance_exists(obj_dialogue))
180
                msg = instance_create(x, y, obj_dialogue);
181
            with (msg)
182
            {
183
                sndfnt = 100;
184
                position = 1;
185
                message[0] = "* I enjoyed life before... I#  did... But I can't go back.";
186
                message[1] = "* What happened that day would#  only repeat.";
187
                message[2] = "* ...";
188
                portrait = false;
189
            }
190
            timer++;
191
        }
192
        if (timer == 111 && !instance_exists(obj_dialogue))
193
            timer++;
194
        if (timer == 151 && !instance_exists(obj_dialogue))
195
        {
196
            direction = 270;
197
            timer++;
198
        }
199
        if (timer == 190 && !instance_exists(obj_dialogue))
200
            direction = 180;
201
        if (timer == 250 && !instance_exists(obj_dialogue))
202
        {
203
            if (!instance_exists(obj_dialogue))
204
                msg = instance_create(x, y, obj_dialogue);
205
            with (msg)
206
            {
207
                sndfnt = 100;
208
                position = 1;
209
                message[0] = "* !";
210
                message[1] = "* What is this?";
211
                message[2] = "* Why do they appear every time#  I start monologuing? ";
212
                message[3] = "* I need more rest.";
213
                portrait = false;
214
            }
215
            timer++;
216
        }
217
        if (timer == 251 && !instance_exists(obj_dialogue))
218
        {
219
            direction = 0;
220
            speed = 3;
221
            image_speed = 0.2;
222
            timer++;
223
        }
224
        if (timer == 310)
225
        {
226
            if (!instance_exists(obj_camera))
227
                cam2 = instance_create(600, obj_pl.y, obj_camera);
228
            if (cam2.x >= obj_pl.x)
229
            {
230
                cam2.speed = -2;
231
            }
232
            else
233
            {
234
                with (cam2)
235
                    instance_destroy();
236
                __view_set(e__VW.Object, 0, obj_pl);
237
                scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() { global.cutscene = false; obj_pl.alarm[0] = 1; }
();
238
                global.flag[3 Dalv second cutscene completion status] = true;
239
                obj_rndenc.disabled = false;
240
                instance_destroy();
241
            }
242
        }
243
    }
244
}
245
if (room == rm_darkruins_16 && global.flag[26 Dalv cutscene outside his house completed] == 1)
246
{
247
    if (global.flag[17 Dalv fate] != 0 && global.dalv_house_enter_count == 0)
248
        global.dalv_house_enter_count = 1;
249
    instance_destroy();
250
    exit;
251
}
252
if (room == rm_darkruins_16 && global.flag[26 Dalv cutscene outside his house completed] == 0)
253
{
254
    if (obj_pl.x < 520 && timer == 0)
255
    {
256
        with (obj_radio)
257
            audio_sound_gain(bgm, 0, 1000);
258
        global.cutscene = true;
259
        obj_pl.image_speed = 0;
260
        obj_pl.image_index = 0;
261
        timer++;
262
    }
263
    if ((timer > 3 && timer < 60) || (timer > 61 && timer < 70) || (timer > 71 && timer < 80) || (timer > 81 && timer < 110) || (timer > 111 && timer < 140))
264
        timer++;
265
    if (timer == 1)
266
    {
267
        direction = 90;
268
        with (obj_pl)
269
        {
270
            direction = 180;
271
            speed = 2;
272
            image_speed = 0.2;
273
        }
274
        timer++;
275
    }
276
    if (obj_pl.x <= 380 && timer == 2)
277
    {
278
        with (obj_pl)
279
        {
280
            direction = 90;
281
            speed = 2;
282
        }
283
        speed = 0.5;
284
        timer++;
285
    }
286
    if (obj_pl.y < 260 && timer == 3)
287
    {
288
        with (obj_pl)
289
        {
290
            direction = 90;
291
            speed = 0;
292
            image_speed = 0;
293
            image_index = 0;
294
        }
295
        timer++;
296
    }
297
    if (timer == 30)
298
        speed = 1;
299
    if (timer == 60)
300
    {
301
        if (!instance_exists(obj_dialogue))
302
            msg = instance_create(x, y, obj_dialogue);
303
        with (msg)
304
        {
305
            sndfnt = 100;
306
            message[0] = "* Ah!";
307
            portrait = false;
308
        }
309
        speed = 0;
310
        image_index = 0;
311
        image_speed = 0;
312
        timer++;
313
    }
314
    if (timer == 61 && !instance_exists(obj_dialogue))
315
    {
316
        direction = 270;
317
        timer++;
318
    }
319
    if (timer == 70)
320
    {
321
        if (!instance_exists(obj_camera))
322
            cam = instance_create(obj_pl.x, obj_pl.y, obj_camera);
323
        cam.direction = 90;
324
        cam.speed = 4;
325
        __view_set(e__VW.Object, 0, cam);
326
        timer++;
327
    }
328
    if (timer == 71 && obj_camera.y < y)
329
    {
330
        timer = 72;
331
        obj_camera.speed = 0;
332
    }
333
    if (timer == 80)
334
    {
335
        if (!instance_exists(obj_dialogue))
336
            msg = instance_create(x, y, obj_dialogue);
337
        with (msg)
338
        {
339
            sndfnt = 100;
340
            message[0] = "* Umm...";
341
            portrait = false;
342
        }
343
        timer++;
344
    }
345
    if (timer == 81 && !instance_exists(obj_dialogue))
346
    {
347
        speed = -0.3;
348
        image_speed = 0.2;
349
        timer++;
350
    }
351
    if (timer == 110)
352
    {
353
        speed = 0;
354
        image_speed = 0;
355
        image_index = 0;
356
        if (!instance_exists(obj_dialogue))
357
            msg = instance_create(x, y, obj_dialogue);
358
        with (msg)
359
        {
360
            sndfnt = 100;
361
            portrait = false;
362
            message[0] = "* I don't know who you are but I#  ask you...";
363
            message[1] = "* Please leave!";
364
        }
365
        timer++;
366
    }
367
    if (timer == 111 && !instance_exists(obj_dialogue))
368
    {
369
        image_speed = 0.2;
370
        path_start(pt_dalv, 3, path_action_stop, 0);
371
        timer++;
372
    }
373
    if (timer == 140)
374
    {
375
        cam.direction = 270;
376
        cam.speed = 3;
377
        if (cam.y > obj_pl.y)
378
        {
379
            with (cam)
380
                instance_destroy();
381
            __view_set(e__VW.Object, 0, obj_pl);
382
            global.cutscene = false;
383
            obj_pl.state = scr_normal_state;
384
            global.flag[26 Dalv cutscene outside his house completed] = 1;
385
            with (obj_radio)
386
                audio_sound_gain(bgm, 1, 2000);
387
            instance_destroy();
388
        }
389
    }
390
}
391
if (room == rm_darkruins_18 && global.flag[27 Cutscene surrounding the Dalv fight completed] == 1)
392
{
393
    instance_destroy();
394
    exit;
395
}
396
if (room == rm_darkruins_18 && global.flag[27 Cutscene surrounding the Dalv fight completed] == 0)
397
{
398
    if (global.flag[17 Dalv fate] == 0)
399
    {
400
        if (obj_pl.y < 370 && timer == 0)
401
        {
402
            global.cutscene = true;
403
            with (obj_radio)
404
                audio_sound_gain(bgm, 0, 4000);
405
            obj_pl.image_speed = 0;
406
            obj_pl.image_index = 0;
407
            obj_pl.direction = 90;
408
            cam = instance_create(obj_pl.x, obj_pl.y, obj_camera);
409
            __view_set(e__VW.Object, 0, obj_camera);
410
            cam.vspeed = -1;
411
            timer++;
412
        }
413
        if (timer == 1 && cam.y < 320)
414
        {
415
            timer++;
416
            cam.vspeed = 0;
417
        }
418
        if ((timer > 1 && timer < 60) || (timer > 61 && timer < 90) || (timer > 91 && timer < 140) || (timer > 141 && timer < 230) || (timer > 231 && timer < 400))
419
            timer++;
420
        if (timer == 60)
421
        {
422
            scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
423
            with (msg)
424
            {
425
                sndfnt = 100;
426
                message[0] = "* You're... still following me?";
427
                message[1] = "* I thought I made it clear that#  I want to be left alone.";
428
                portrait = false;
429
                position = 0;
430
            }
431
            timer++;
432
        }
433
        if (timer == 61 && !instance_exists(obj_dialogue))
434
            timer++;
435
        if (timer == 90)
436
        {
437
            direction = 270;
438
            scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
439
            with (msg)
440
            {
441
                sndfnt = 100;
442
                message[0] = "* I don't understand... You...#  you look just like them.";
443
                message[1] = "* Is this some sort of haunting?#  Or have you come to finish the#  job?";
444
                message[2] = "* Retreating here wasn't enough#  so you hunted me down...";
445
                message[3] = "* Right?";
446
                ch_msg = 3;
447
                ch[1] = "What?";
448
                ch[2] = "...";
449
                portrait = false;
450
                position = 0;
451
            }
452
            timer++;
453
        }
454
        if (timer == 91 && !instance_exists(obj_dialogue))
455
            timer++;
456
        if (timer == 100)
457
            direction = 90;
458
        if (timer == 140)
459
        {
460
            scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
461
            with (msg)
462
            {
463
                sndfnt = 100;
464
                message[0] = "* And I was just starting to#  accept my reality.#  The cruelty...";
465
                message[1] = "* ...";
466
                message[2] = "* Whatever I did to you that day#  was not my intention, I was#  only...";
467
                message[3] = "* Nevermind. Words aren't#  enough.";
468
                portrait = false;
469
                position = 0;
470
            }
471
            timer++;
472
        }
473
        if (timer == 141 && !instance_exists(obj_dialogue))
474
            timer++;
475
        if (timer == 160)
476
            direction = 0;
477
        if (timer == 190)
478
            direction = 270;
479
        if (timer == 220)
480
            direction = 90;
481
        if (timer == 230)
482
        {
483
            scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
484
            with (msg)
485
            {
486
                sndfnt = 100;
487
                message[0] = "* I... I don't want to fight#  anybody, but you've invaded#  my home.";
488
                message[1] = "* The exit is blocked and you#  can't stay here. I will not#  allow it.";
489
                portrait = false;
490
                position = 0;
491
            }
492
            timer++;
493
        }
494
        if (timer == 231 && !instance_exists(obj_dialogue))
495
        {
496
            spritelock = false;
497
            direction = 45;
498
            sprite_index = spr_hoodoff;
499
            image_speed = 0.2;
500
            hood = false;
501
            timer++;
502
        }
503
        if (timer == 370)
504
        {
505
            spritelock = true;
506
            direction = 0;
507
        }
508
        if (timer == 390)
509
        {
510
            spritelock = true;
511
            direction = 270;
512
        }
513
        if (timer == 400)
514
        {
515
            scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
516
            with (msg)
517
            {
518
                sndfnt = 100;
519
                message[0] = "* Only one thing to#  do...";
520
                prt[0] = 1759;
521
                portrait = true;
522
                position = 0;
523
            }
524
            timer++;
525
        }
526
        if (timer == 401 && !instance_exists(obj_dialogue))
527
        {
528
            image_speed = 0;
529
            instance_create(x, y, obj_flash);
530
            timer++;
531
        }
532
    }
533
    else if (global.flag[17 Dalv fate] == 1 || global.flag[17 Dalv fate] == 4)
534
    {
535
        scr_cutscene_start
scr_cutscene_start

function scr_cutscene_start() { global.cutscene = true; obj_pl.state = scr_frozen_state; obj_pl.image_index = 0; obj_pl.image_speed = 0; }
();
536
        if (global.geno_complete[1] == false)
537
        {
538
            if (timer == 0)
539
            {
540
                direction = 270;
541
                hood = false;
542
                global.cutscene = true;
543
                scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
544
                with (msg)
545
                {
546
                    sndfnt = 100;
547
                    message[0] = "* ...";
548
                    message[1] = "* ...";
549
                    message[2] = "* ...";
550
                    message[3] = "* What do friends do#  actually?";
551
                    message[4] = "* Do you want to, um,#  see my house?#  Or something?";
552
                    message[5] = "* I have to go there#  anyway so I guess stop#  by if you have time. ";
553
                    prt[0] = 1755;
554
                    prt[1] = 1780;
555
                    prt[2] = 1763;
556
                    prt[3] = 1755;
557
                    prt[4] = 1776;
558
                    prt[5] = 1769;
559
                    position = 0;
560
                }
561
                timer = 1;
562
            }
563
            if (!instance_exists(obj_dialogue) && timer == 1)
564
                vspeed = -2;
565
            if (y < 160 && timer == 1)
566
            {
567
                global.flag[27 Cutscene surrounding the Dalv fight completed] = 1;
568
                global.cutscene = false;
569
                obj_pl.state = scr_normal_state;
570
                timer = 2;
571
            }
572
        }
573
        else
574
        {
575
            scr_cutscene_start
scr_cutscene_start

function scr_cutscene_start() { global.cutscene = true; obj_pl.state = scr_frozen_state; obj_pl.image_index = 0; obj_pl.image_speed = 0; }
();
576
            if (timer == 0)
577
            {
578
                direction = 270;
579
                hood = false;
580
                global.cutscene = true;
581
                scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
582
                with (msg)
583
                {
584
                    sndfnt = 100;
585
                    message[0] = "You're... sparing me?";
586
                    message[1] = "But... what about them?";
587
                    message[2] = "Why only me?";
588
                    message[3] = "What makes me so#special!";
589
                    message[4] = "Or is this how you#plan to hurt me?";
590
                    message[5] = "By taking them all#away...";
591
                    message[6] = "...";
592
                    message[7] = "...I don't need them.#I'll be fine on my own.";
593
                    message[8] = "I've been doing it#long enough...";
594
                    message[9] = "...";
595
                    message[10] = "I think you should leave.";
596
                    message[11] = "You've already done#enough damage here.";
597
                    prt[0] = 1763;
598
                    prt[1] = 1764;
599
                    prt[2] = 1763;
600
                    prt[3] = 1763;
601
                    prt[4] = 1762;
602
                    prt[5] = 1762;
603
                    prt[6] = 1786;
604
                    prt[7] = 1781;
605
                    prt[8] = 1780;
606
                    prt[9] = 1763;
607
                    prt[10] = 1763;
608
                    prt[11] = 1781;
609
                    position = 0;
610
                }
611
                timer = 1;
612
            }
613
            if (!instance_exists(obj_dialogue) && timer == 1)
614
                vspeed = -0.5;
615
            if (y < 220 && timer == 1)
616
            {
617
                timer = 2;
618
                image_speed = 0;
619
                vspeed = 0;
620
                direction = 90;
621
            }
622
            if (timer > 1 && timer < 75)
623
                timer++;
624
            if (timer == 75)
625
            {
626
                scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
627
                with (msg)
628
                {
629
                    sndfnt = 100;
630
                    message[0] = "* ...";
631
                    message[1] = "* I guess... I truly am#  alone now...";
632
                    portrait = false;
633
                    position = 0;
634
                }
635
                timer = 76;
636
            }
637
            if (!instance_exists(obj_dialogue) && timer == 76)
638
            {
639
                vspeed = -1;
640
                alarm[1] = 45;
gml_Object_obj_dalv_Alarm_1.gml

global.flag[27 Cutscene surrounding the Dalv fight completed] = 1; genoCount = 0; if (global.route == 3) global.route = 1; global.flag[17 Dalv fate] = 4; global.cutscene = false; obj_pl.state = scr_normal_state; instance_destroy();
641
                timer = 77;
642
            }
643
        }
644
    }
645
    else if (global.flag[17 Dalv fate] == 3)
646
    {
647
        scr_cutscene_start
scr_cutscene_start

function scr_cutscene_start() { global.cutscene = true; obj_pl.state = scr_frozen_state; obj_pl.image_index = 0; obj_pl.image_speed = 0; }
();
648
        if (timer == 0)
649
        {
650
            global.route = 1;
651
            direction = 270;
652
            sprite_index = spr_hoodoff;
653
            hood = false;
654
            global.cutscene = true;
655
            scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
656
            with (msg)
657
            {
658
                sndfnt = 100;
659
                message[0] = "* This was all a#  misunderstanding, right?";
660
                message[1] = "* ...";
661
                message[2] = "* I'll be waiting in my#  house.";
662
                message[3] = "* Come whenever you feel#  like it.";
663
                prt[0] = 1755;
664
                prt[1] = 1780;
665
                prt[2] = 1755;
666
                prt[3] = 1755;
667
                position = 0;
668
            }
669
            timer = 1;
670
        }
671
        if (!instance_exists(obj_dialogue) && timer == 1)
672
            vspeed = -2;
673
        if (y < 160 && timer == 1)
674
        {
675
            global.flag[27 Cutscene surrounding the Dalv fight completed] = 1;
676
            global.cutscene = false;
677
            obj_pl.state = scr_normal_state;
678
            timer = 2;
679
        }
680
    }
681
    else if (global.flag[17 Dalv fate] == 2)
682
    {
683
        instance_destroy();
684
        scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() { global.cutscene = false; obj_pl.alarm[0] = 1; }
();
685
        global.flag[27 Cutscene surrounding the Dalv fight completed] = 1;
686
    }
687
}
688
if (room == rm_dalvshouse && global.flag[28 Spoken to Dalv in his house] == 0)
689
{
690
    if (timer == 0)
691
    {
692
        global.cutscene = true;
693
        obj_pl.direction = 90;
694
        obj_pl.image_speed = 0;
695
        obj_pl.image_index = 0;
696
        timer = 4;
697
    }
698
    if (timer > 3 && timer < 30)
699
        timer++;
700
    if (timer == 30)
701
    {
702
        scr_text
scr_text

function scr_text() { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue); }
();
703
        with (msg)
704
        {
705
            if (global.flag[17 Dalv fate] == 3)
706
            {
707
                global.route = 1;
708
                genoCount = 0;
709
                sndfnt = 100;
710
                message[0] = "* Welcome...";
711
                message[1] = "* Make yourself at home.";
712
                message[2] = "* I'm going to my room to#  rest.";
713
                message[3] = "* I feel a bit ill.";
714
                message[4] = "* We're... friends now#  so...";
715
                message[5] = "* Look at whatever you#  like.";
716
                message[6] = "* See you... later.";
717
                prt[0] = 1780;
718
                prt[1] = 1755;
719
                prt[2] = 1780;
720
                prt[3] = 1781;
721
                prt[4] = 1755;
722
                prt[5] = 1755;
723
                prt[6] = 1780;
724
            }
725
            else if (global.dalv_house_enter_count == 0)
726
            {
727
                sndfnt = 100;
728
                message[0] = "* I have to um...#  fix something in the#  other room.";
729
                message[1] = "* Sit down,#  get comfortable,#  take your shoes off.";
730
                message[2] = "* ...";
731
                message[3] = "* Actually please leave#  them on, the floors are#  a bit dirty.";
732
                message[4] = "* I haven't swept since #  this morning.";
733
                prt[0] = 1780;
734
                prt[1] = 1776;
735
                prt[2] = 1755;
736
                prt[3] = 1763;
737
                prt[4] = 1763;
738
            }
739
            else if (global.dalv_house_enter_count == 1)
740
            {
741
                sndfnt = 100;
742
                message[0] = "* It seems like you#  took your time.";
743
                message[1] = "* Oh, but don't worry, I'm#  used to standing around#  by my lonesome.";
744
                message[2] = "* I keep myself occupied#  by cleaning around#  the house.";
745
                message[3] = "* It's my hourly routine!";
746
                message[4] = "* ...";
747
                message[5] = "* I have to um...#  fix something...";
748
                prt[0] = 1755;
749
                prt[1] = 1780;
750
                prt[2] = 1776;
751
                prt[3] = 1776;
752
                prt[4] = 1755;
753
                prt[5] = 1780;
754
            }
755
        }
756
        timer++;
757
    }
758
    if (timer == 31 && !instance_exists(obj_dialogue))
759
    {
760
        timer++;
761
        hood = false;
762
        image_speed = 0.2;
763
        path_start(pt_dalvhouse, 3, path_action_stop, false);
764
        if (global.flag[17 Dalv fate] != 3)
765
            obj_dalv2.alarm[0] = 150;
766
        alarm[0] = 75;
gml_Object_obj_dalv_Alarm_0.gml

if (door_open_alarm_counter == 0) { audio_play_sound(snd_doorclose, 1, 0); alarm[0] = 25; door_open_alarm_counter++; } else if (door_open_alarm_counter == 1) { audio_play_sound(snd_doorlock, 1, 0); if (global.flag[17 Dalv fate] == 3) { audio_play_sound(snd_doorlock, 1, 0); alarm[0] = 25; door_open_alarm_counter++; global.flag[17 Dalv fate] = 4; } } else { global.cutscene = false; obj_pl.state = scr_normal_state; with (obj_dalv2) instance_destroy(); instance_destroy(); }
767
    }
768
}
769
770
enum e__VW
771
{
772
    XView,
773
    YView,
774
    WView,
775
    HView,
776
    Angle,
777
    HBorder,
778
    VBorder,
779
    HSpeed,
780
    VSpeed,
781
    Object,
782
    Visible,
783
    XPort,
784
    YPort,
785
    WPort,
786
    HPort,
787
    Camera,
788
    SurfaceID
789
}