Undertale script viewer

← back to main script listing

gml_Object_obj_heart_Step_0

(view raw script w/o annotations or w/e)
1
if (global.mnfight != 2)
2
    movement = 0;
3
else if (movement == 0)
4
    movement = 1;
5
global.invc -= 1;
6
if (global.invc > 0 || obj_battlecontroller.runaway == 1)
7
{
8
    image_speed = 0.5;
9
}
10
else
11
{
12
    image_index = 0;
13
    image_speed = 0;
14
}
15
charge -= 1;
16
if (shot == 1 && control_check_pressed(0) && global.mnfight == 2)
17
{
18
    if (instance_number(obj_heartshot) == 0 || charge < 0)
19
    {
20
        charge = 14;
21
        instance_create(x + 4, y + 2, obj_heartshot);
22
        snd_play(snd_heartshot);
23
    }
24
}
25
if (sprite_index == spr_confuseheart)
26
    image_angle += 6;
27
if (confuse == 1 && global.mnfight == 2)
28
{
29
    if (x < (obj_lborder.x + 8))
30
        x = obj_lborder.x + 8;
31
    if (y < (obj_uborder.x + 8))
32
        y = obj_uborder.x + 8;
33
    if (x > (obj_rborder.x - 8))
34
        x = obj_rborder.x - 8;
35
    if (y > (obj_dborder.y - 8))
36
        y = obj_dborder.y - 8;
37
}
38
if (movement == 11)
39
{
40
    vspeed = 0;
41
    if (obj_time.up)
42
        y -= global.sp;
43
    if (obj_time.down)
44
        y += global.sp;
45
    if (obj_time.left)
46
    {
47
        if (jumpstage == 1 && hspeed == 0)
48
        {
49
            jumpstage = 2;
50
            hspeed = -6;
51
        }
52
    }
53
}
54
if (movement == 12)
55
{
56
    hspeed = 0;
57
    if (obj_time.left)
58
        x -= global.sp;
59
    if (obj_time.right)
60
        x += global.sp;
61
    if (obj_time.down)
62
    {
63
        if (jumpstage == 1 && vspeed == 0)
64
        {
65
            jumpstage = 2;
66
            vspeed = 6;
67
        }
68
    }
69
}
70
if (movement == 13)
71
{
72
    vspeed = 0;
73
    if (obj_time.up)
74
        y -= global.sp;
75
    if (obj_time.down)
76
        y += global.sp;
77
    if (obj_time.right)
78
    {
79
        if (jumpstage == 1 && hspeed == 0)
80
        {
81
            jumpstage = 2;
82
            hspeed = 6;
83
        }
84
    }
85
}
86
if (jumpstage == 2 && movement == 2)
87
{
88
    if (global.osflavor == 1)
89
    {
90
        if (keyboard_check_direct(vk_up) == 0 && vspeed <= -1)
91
            vspeed = -1;
92
    }
93
    if (global.osflavor != 1)
94
    {
95
        if (obj_time.up == 0 && vspeed <= -1)
96
            vspeed = -1;
97
    }
98
    if (vspeed > 0.5 && vspeed < 8)
99
        vspeed += 0.6;
100
    if (vspeed > -1 && vspeed <= 0.5)
101
        vspeed += 0.2;
102
    if (vspeed > -4 && vspeed <= -1)
103
        vspeed += 0.5;
104
    if (vspeed <= -4)
105
        vspeed += 0.2;
106
}
107
if (jumpstage == 2 && movement == 11)
108
{
109
    if (global.osflavor == 1)
110
    {
111
        if (keyboard_check_direct(vk_left) == 0 && hspeed <= -1)
112
            hspeed = -1;
113
    }
114
    if (global.osflavor != 1)
115
    {
116
        if (obj_time.left == 0 && hspeed <= -1)
117
            hspeed = -1;
118
    }
119
    if (hspeed > 0.5 && hspeed < 8)
120
        hspeed += 0.6;
121
    if (hspeed > -1 && hspeed <= 0.5)
122
        hspeed += 0.2;
123
    if (hspeed > -4 && hspeed <= -1)
124
        hspeed += 0.5;
125
    if (hspeed <= -4)
126
        hspeed += 0.2;
127
}
128
if (jumpstage == 2 && movement == 12)
129
{
130
    if (global.osflavor == 1)
131
    {
132
        if (keyboard_check_direct(vk_down) == 0 && vspeed >= 1)
133
            vspeed = 1;
134
    }
135
    if (global.osflavor != 1)
136
    {
137
        if (obj_time.down == 0 && vspeed >= 1)
138
            vspeed = 1;
139
    }
140
    if (vspeed < -0.5 && vspeed > -8)
141
        vspeed -= 0.6;
142
    if (vspeed < 1 && vspeed >= -0.5)
143
        vspeed -= 0.2;
144
    if (vspeed < 4 && vspeed >= 1)
145
        vspeed -= 0.5;
146
    if (vspeed >= 4)
147
        vspeed -= 0.2;
148
}
149
if (jumpstage == 2 && movement == 13)
150
{
151
    if (global.osflavor == 1)
152
    {
153
        if (keyboard_check_direct(vk_right) == 0 && hspeed >= 1)
154
            hspeed = 1;
155
    }
156
    if (global.osflavor != 1)
157
    {
158
        if (obj_time.right == 0 && hspeed >= 1)
159
            hspeed = 1;
160
    }
161
    if (hspeed < -0.5 && hspeed > -8)
162
        hspeed -= 0.6;
163
    if (hspeed < 1 && hspeed >= -0.5)
164
        hspeed -= 0.2;
165
    if (hspeed < 4 && hspeed >= 1)
166
        hspeed -= 0.5;
167
    if (hspeed >= 4)
168
        hspeed -= 0.2;
169
}
170
if (ignore_border == 0 && instance_exists(obj_sansb_body) && global.mnfight == 2)
171
{
172
    if (x < (global.idealborder[0] + 4))
173
    {
174
        x = global.idealborder[0] + 4;
175
        event_user(7);
176
        if (hspeed < 0)
177
            hspeed = 0;
178
        if (movement == 13)
179
            jumpstage = 1;
180
    }
181
    if (y < (global.idealborder[2] + 4))
182
    {
183
        y = global.idealborder[2] + 4;
184
        event_user(7);
185
        if (vspeed < 0)
186
            vspeed = 0;
187
        if (movement == 12)
188
            jumpstage = 1;
189
    }
190
    if (x > (global.idealborder[1] - 16))
191
    {
192
        x = global.idealborder[1] - 16;
193
        event_user(7);
194
        if (hspeed > 0)
195
            hspeed = 0;
196
        if (movement == 11)
197
            jumpstage = 1;
198
    }
199
    if (y > (global.idealborder[3] - 16))
200
    {
201
        y = global.idealborder[3] - 16;
202
        event_user(7);
203
        if (vspeed > 0)
204
            vspeed = 0;
205
        if (movement == 2)
206
            jumpstage = 1;
207
    }
208
}
209
if (instance_exists(obj_battlecontroller))
210
{
211
    if (obj_battlecontroller.runaway == 1 && x < -20)
212
    {
213
        if (instance_exists(obj_unfader) == 0)
214
            instance_create(0, 0, obj_unfader);
215
        if (x < -60)
216
        {
217
            if (global.flag[15 in_battle] == 0)
218
            {
219
                caster_stop(global.batmusic);
220
                caster_free(global.batmusic);
221
            }
222
            room_goto(global.currentroom);
223
        }
224
    }
225
}