Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_dw_church_remotepianomove_Step_2

(view raw script w/o annotations or w/e)
1
setxy(x + 6, y + 32, mysolid);
2
if (engaged)
3
{
4
    setxy(x + 20, (y - 4) + (yoffset * 1.1), kris);
5
    kris.depth = depth - 1;
6
    kris.sprite_index = spr_kris_piano_loop_1;
7
    if (i_ex(susie))
8
    {
9
        susie.image_xscale = 2;
10
        setxy(x + 36, (y - 10) + (yoffset * 1.05), susie);
11
        if (yoffset < 0)
12
        {
13
            susie.sprite_index = spr_susie_dw_fall_brace;
14
            if (myhspeed < 0)
15
            {
16
                susie.image_xscale = -2;
17
                setxy(x + 96, (y - 10) + (yoffset * 1.05), susie);
18
            }
19
        }
20
        else
21
        {
22
            susie.sprite_index = spr_susie_up_dw;
23
        }
24
        if (shakex >= 9)
25
        {
26
            susie.sprite_index = spr_susie_dw_landed;
27
            if (myhspeed > 0)
28
            {
29
                susie.image_xscale = -2;
30
                setxy(x + 96, (y - 10) + (yoffset * 1.05), susie);
31
            }
32
        }
33
        susie.depth = depth - 2;
34
    }
35
    if (i_ex(ralsei))
36
    {
37
        var xoff = 0;
38
        if (ralshakex > 0)
39
            xoff = ((ralshakex % 2) - 0.5) * 2 * ralshakex;
40
        setxy(x + 4 + xoff, (y - 6) + (yoffset * 1.2), ralsei);
41
        if (yoffset < 0)
42
        {
43
            ralsei_knocked_down = 16;
44
            if (myhspeed > 0)
45
                ralsei.sprite_index = spr_ralsei_shocked_right_landed;
46
            else
47
                ralsei.sprite_index = spr_ralsei_shocked_left_landed;
48
            ralsei.image_index = 0;
49
        }
50
        else if (!ralsei_knocked_down)
51
        {
52
            ralsei.sprite_index = spr_ralsei_up;
53
        }
54
        else
55
        {
56
            ralsei_knocked_down--;
57
            if (ralsei_knocked_down == 0)
58
                ralshakex = 8;
59
            if (myhspeed > 0)
60
                ralsei.sprite_index = spr_ralsei_shocked_right_landed;
61
            else
62
                ralsei.sprite_index = spr_ralsei_shocked_left_landed;
63
            ralsei.image_index = 1;
64
        }
65
        ralshakex--;
66
        ralsei.depth = depth - 2;
67
    }
68
}
69
if (camcontrol)
70
{
71
    obj_mainchara.cutscene = 1;
72
    camerax_set(camx);
73
    cameray_set(camy);
74
    if (camcon == 2)
75
    {
76
        var roomw = room_width;
77
        var roomh = room_height;
78
        var vieww = view_wport[0];
79
        var viewh = view_hport[0];
80
        var plcamx = clamp(obj_mainchara.x - floor((vieww / 2) - (obj_mainchara.initwd / 2)), 0, roomw - vieww);
81
        var plcamy = clamp(obj_mainchara.y - floor((viewh / 2) - (obj_mainchara.initht / 2)), 0, roomh - viewh);
82
        camstrength = lerp(camstrength, 4, 0.010101010101010102);
83
        camx = lerp(camx, plcamx, camstrength / 8);
84
        camy = lerp(camy, plcamy, camstrength / 8);
85
        if (point_distance(plcamx, plcamy, camx, camy) < 2)
86
        {
87
            camcon = 3;
88
            camcontrol = 0;
89
            obj_mainchara.cutscene = 0;
90
        }
91
    }
92
}