Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_obj_balancepot_Step_2

(view raw script w/o annotations or w/e)
1
if (i_ex(obj_mainchara))
2
    depth = obj_mainchara.depth - 10;
3
image_xscale = 2;
4
image_yscale = 2;
5
if (falling == -2)
6
{
7
    visible = 0;
8
    if (obj_mainchara.y >= 240 && global.interact == 0)
9
    {
10
        y = __view_get(e__VW.YView, 0) - 80;
11
        visible = 1;
12
        falling = -1;
13
    }
14
}
15
if (falling == -1)
16
{
17
    global.interact = 1;
18
    x = obj_mainchara.x + 20;
19
    if (y <= obj_mainchara.y)
20
    {
21
        y += 10;
22
    }
23
    else
24
    {
25
        global.interact = 0;
26
        global.facing = 0;
27
        falling = 0;
28
        y = obj_mainchara.y + 5;
29
        snd_play(snd_item);
30
    }
31
}
32
if (falling == 0 && global.interact == 0)
33
{
34
    nowx = x;
35
    nowy = y;
36
    x = obj_mainchara.x + 20;
37
    y = obj_mainchara.y + 5;
38
    if (inittimer < 1)
39
        inittimer += 0.02;
40
    if (init == 1)
41
    {
42
        if (nowx != x)
43
        {
44
            balancespeed += ((x - nowx) / 16);
45
            balance += ((x - nowx) / 4);
46
        }
47
        if (abs(balancespeed) < 3)
48
            balancespeed += (balance / 192);
49
        balance += ((balance / 64) * inittimer);
50
        balance += ((balancespeed / 2) * inittimer);
51
        image_angle = balance;
52
    }
53
    init = 1;
54
    if (abs(balance) >= 90)
55
    {
56
        falling = 1;
57
        remy = y;
58
    }
59
}
60
if (falling == 1)
61
{
62
    global.interact = 1;
63
    global.facing = 0;
64
    vspeed += 2;
65
    balance += (balance / 16);
66
    image_angle = balance;
67
    if (balance < 0)
68
        hspeed += 1;
69
    if (balance > 0)
70
        hspeed -= 1;
71
    if (y >= (remy + 60))
72
    {
73
        snd_play(choose(snd_break1, snd_break2));
74
        brokenpot = 
scr_dark_marker
scr_dark_marker

function
scr_dark_marker(arg0, arg1, arg2)
{ thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { sprite_index = arg2; image_speed = 0; image_xscale = 2; image_yscale = 2; } return thismarker; }
(x, y, sprite_index);
75
        brokenpot.image_index = 1;
76
        brokenpot.depth = 800000;
77
        falling = 2;
78
        timer = 0;
79
        if (con == 0)
80
            global.interact = 0;
81
        if (global.flag[385 balance_pot_status] == 0)
82
            global.flag[385 balance_pot_status] = 1;
83
        visible = false;
84
        instance_destroy();
85
    }
86
}
87
if (falling == 3)
88
{
89
    vspeed = 0;
90
    x = obj_mainchara.x + 20;
91
    y = obj_mainchara.y + 10;
92
}
93
if (falling == -99)
94
{
95
    if (!i_ex(obj_battleback))
96
        falling = memfalling;
97
}
98
if (i_ex(obj_battleback))
99
    falling = -99;
100
else
101
    memfalling = falling;
102
103
enum e__VW
104
{
105
    XView,
106
    YView,
107
    WView,
108
    HView,
109
    Angle,
110
    HBorder,
111
    VBorder,
112
    HSpeed,
113
    VSpeed,
114
    Object,
115
    Visible,
116
    XPort,
117
    YPort,
118
    WPort,
119
    HPort,
120
    Camera,
121
    SurfaceID
122
}