Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_dw_churchc_ripplesneak_poc_Step_0

(view raw script w/o annotations or w/e)
1
scr_populatechars
scr_populatechars

function
scr_populatechars()
{ if (!variable_instance_exists(id, "kris")) kris = 0; if (!variable_instance_exists(id, "ralsei")) ralsei = 0; if (!variable_instance_exists(id, "susie")) susie = 0; if (!variable_instance_exists(id, "noelle")) noelle = 0; if (kris == 0) { with (obj_mainchara) other.kris = id; } if (susie == 0) { with (obj_caterpillarchara) { if (name == "susie") other.susie = id; } } if (ralsei == 0) { with (obj_caterpillarchara) { if (name == "ralsei") other.ralsei = id; } } if (noelle == 0) { with (obj_caterpillarchara) { if (name == "noelle") other.noelle = id; } } }
();
2
if (!init)
3
    init = 1;
4
if (con == 0)
5
{
6
    with (obj_mainchara)
7
    {
8
        var trigger = instance_place(x, y, obj_trigger);
9
        if (trigger != -4 && trigger.extflag == "startpart2")
10
            other.con = 1;
11
    }
12
}
13
if (con == 1)
14
{
15
    timer += 1;
16
    if (timer == 55)
17
    {
18
        if (lightsequence == 0)
19
        {
20
            layer_set_visible(layer_get_id("OBJECTS_TOPHALF"), false);
21
            layer_set_visible(layer_get_id("TILES_TOPHALF"), false);
22
            layer_set_visible(layer_get_id("TILES_BATTLEBORDER"), false);
23
        }
24
        if (lightsequence < 6)
25
        {
26
            var count = lightsequence + 1;
27
            for (var i = 0; i < count; i++)
28
            {
29
                var siner = (pi / count) + ((pi / (0.5 * count)) * i) + random_range(-3.141592653589793 / (2 * count), pi / (2 * count));
30
                var xx = obj_mainchara.x + (sin(siner) * 260);
31
                var yy = obj_mainchara.y + (cos(siner) * 180);
32
                instance_create(xx, yy, obj_dw_church_waterfallchaser_churchc);
33
            }
34
        }
35
    }
36
    if (lightsequence == 6 && timer == 70)
37
    {
38
        var diffX = obj_mainchara.x - 1540 - 150;
39
        var diffY = (obj_mainchara.y - 2900) + 40;
40
        obj_mainchara.x -= diffX;
41
        obj_mainchara.y -= diffY;
42
        with (obj_overworld_bulletarea)
43
            instance_destroy();
44
        with (obj_church_ripple)
45
        {
46
            x -= diffX;
47
            y -= diffY;
48
        }
49
        with (obj_lightsource_shrinking)
50
        {
51
            x -= diffX;
52
            y -= diffY;
53
        }
54
    }
55
    if (timer > 70)
56
    {
57
        if (lightsequence < 6)
58
        {
59
            lightsequence++;
60
            var siner = 4.71238898038469 + ((lightsequence * pi) / 4) + random_range(-0.3141592653589793, 0.3141592653589793);
61
            var xx = obj_mainchara.x + (sin(siner) * 320);
62
            var yy = obj_mainchara.y + (cos(siner) * 240);
63
            nextlight = instance_create(xx, yy, obj_lightsource_shrinking);
64
            nextlight.radius = 0;
65
            nextlight.shrinkspeed = 1 + (1 * lightsequence);
66
            timer = -60;
67
        }
68
        else if ((timer % 15) == 0 && timer <= 290)
69
        {
70
            lightsequence++;
71
            var xx = 1540 + (160 * (lightsequence - 6));
72
            var yy = 2900;
73
            var light = instance_create(xx, yy, obj_lightsource_static);
74
            light.radius = 0;
75
        }
76
    }
77
    if (nextlight != -4)
78
    {
79
        if (nextlight.con == 0)
80
        {
81
            timer = 0;
82
        }
83
        else
84
        {
85
            nextlight = -4;
86
            with (obj_dw_church_waterfallchaser_churchc)
87
                instance_destroy();
88
        }
89
    }
90
}