Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_dw_leave_ch4_Draw_0

(view raw script w/o annotations or w/e)
1
pillarsiner++;
2
dist = 0;
3
if (!scene_mode)
4
{
5
    if (instance_exists(obj_mainchara))
6
        dist = point_distance(x, y, obj_mainchara.x + 20, obj_mainchara.y + 30) - 30;
7
    if (dist < 0)
8
        dist = 0;
9
    alphadist = dist / 1500;
10
    if (alphadist >= 0.3)
11
        alphadist = 0.3;
12
}
13
for (i = 0; i < 3; i++)
14
{
15
    sinoff = sin((i / 4) + (pillarsiner / 10));
16
    if (bottom == 1)
17
        draw_sprite_ext(sprite_index, 0, x, y, (image_xscale - (0.3 * i)) + (sin(sinoff) * 0.1), image_yscale, 0, c_white, ((0.7 - alphadist) + (sin(sinoff) * 0.01) + pillaralpha) / 2);
18
    if (top == 1)
19
        draw_sprite_ext(sprite_index, 1, x, y, (pillarscale - (0.3 * i)) + (sin(sinoff) * 0.1), image_yscale, 0, c_white, ((0.4 - alphadist) + (sin(sinoff) * 0.01) + pillaralpha) / 3);
20
}
21
draw_set_blend_mode(bm_normal);
22
if (top == 1)
23
{
24
    particletimer++;
25
    if (particletimer >= 2)
26
    {
27
        if (particle_active)
28
            instance_create(random_range(x - (sprite_width / 2), x + (sprite_width / 2)), y - random(sprite_height), obj_dw_transition_particle);
29
        particletimer = 0;
30
    }
31
    if (con == 1)
32
    {
33
        snd_play(snd_dtrans_lw);
34
        with (obj_dw_leave_ch4)
35
        {
36
            if (bottom == 1)
37
            {
38
                draw_kris = 1;
39
                fake_v = 1;
40
            }
41
        }
42
        con = 2;
43
        alphab = 0;
44
        fake_v = -10;
45
    }
46
    if (con == 2)
47
    {
48
        alphab += 0.001;
49
        fake_v += (0.5 + (alphab * 20));
50
        draw_set_blend_mode(bm_add);
51
        draw_sprite_ext(sprite_index, 1, x, y, 99, 99, 0, c_white, fake_v / 80);
52
        draw_set_blend_mode(bm_normal);
53
        if ((fake_v / 80) > 0)
54
        {
55
            if (!border_fade)
56
            {
57
                border_fade = true;
58
                with (obj_border_controller)
59
                    hide_border(0.025, c_white);
60
            }
61
        }
62
        if ((fake_v / 80) >= 1.2)
63
        {
64
            pers = instance_create(0, 0, obj_persistentfadein);
65
            pers.image_blend = c_white;
66
            global.interact = 3;
67
            global.entrance = 24;
68
            snd_free(global.currentsong[0]);
69
            room_goto(nextroom);
70
        }
71
    }
72
}
73
if (bottom == 1)
74
{
75
    if (draw_kris == 1)
76
    {
77
        fake_v -= 0.2;
78
        kris_y += fake_v;
79
        sus_y += fake_v;
80
        siner += (1 + (siner / 60));
81
        if (kris_only == 0)
82
            draw_sprite_ext(spr_susie_dw_fall_d, siner / 6, sus_x, sus_y, 2, 2, 0, c_white, 1);
83
        draw_sprite_ext(spr_kris_fall_d_dw, siner / 6, kris_x, kris_y, 2, 2, 0, c_white, 1);
84
    }
85
}