Undertale script viewer

← back to main script listing

gml_Object_obj_undyneencounter3_Step_0

(view raw script w/o annotations or w/e)
1
if (active == 1 && instance_exists(obj_mainchara))
2
{
3
    if (cn == 0 && global.interact == 0 && obj_mainchara.x > (x - 20))
4
    {
5
        global.interact = 1;
6
        undyne.image_alpha = 0;
7
        cn = 0.2;
8
        if (caster_is_playing(global.currentsong))
9
        {
10
            ou = instance_create(0, 0, obj_musfadeout);
11
            ou.fadespeed = 0.05;
12
        }
13
        ar = instance_create(340, 80, obj_speartilefake);
14
        ar.alarm[5] = 30;
15
        ar.alarm[6] = 260;
16
        ar = instance_create(240, 60, obj_speartilefake);
17
        ar.alarm[5] = 80;
18
        ar = instance_create(260, 100, obj_speartilefake);
19
        ar.alarm[5] = 130;
20
        ar = instance_create(300, 60, obj_speartilefake);
21
        ar.alarm[5] = 200;
22
        ar = instance_create(320, 80, obj_speartilefake);
23
        ar.alarm[5] = 203;
24
        ar = instance_create(240, 80, obj_speartilefake);
25
        ar.alarm[5] = 206;
26
        ar = instance_create(300, 80, obj_speartilefake);
27
        ar.alarm[5] = 209;
28
        ar = instance_create(260, 80, obj_speartilefake);
29
        ar.alarm[5] = 212;
30
        ar = instance_create(300, 100, obj_speartilefake);
31
        ar.alarm[5] = 215;
32
        ar = instance_create(320, 60, obj_speartilefake);
33
        ar.alarm[5] = 218;
34
        ar = instance_create(260, 60, obj_speartilefake);
35
        ar.alarm[5] = 221;
36
    }
37
    if (cn == 0.2)
38
    {
39
        if (instance_number(obj_speartilefake) == 0)
40
        {
41
            cn = 0.3;
42
            alarm[4] = 20;
43
            instance_create(40, 80, obj_solidsmall);
44
            instance_create(40, 100, obj_solidsmall);
45
            instance_create(40, 120, obj_solidsmall);
46
            yad = 0;
47
            repeat (5)
48
            {
49
                ar2 = instance_create(50 - yad, 100 - (yad * 6), obj_npc_marker);
50
                ar2.visible = true;
51
                ar2.sprite_index = spr_tilespear;
52
                ar2.image_index = 3;
53
                ar2.image_speed = 0;
54
                yad += 2;
55
            }
56
        }
57
    }
58
    if (cn == 1.3)
59
        cn = 2;
60
    if (cn == 2)
61
    {
62
        caster_play(ushock, 1, 1);
63
        cn = 3;
64
        alarm[4] = 30;
65
    }
66
    if (cn == 3)
67
    {
68
        if (undyne.image_alpha < 1)
69
            undyne.image_alpha += 0.05;
70
    }
71
    if (cn == 4)
72
    {
73
        caster_loop(usong, 1, 1);
74
        global.currentsong = usong;
75
        global.interact = 0;
76
        obj_mainchara.cutscene = 0;
77
        global.flag[17 menu_disabled] = 1;
78
        cn = 5;
79
    }
80
    if (cn == 5)
81
    {
82
        undyne.vhspeed = 4;
83
        undyne.image_speed = 0.25;
84
        cn = 6;
85
        alarm[4] = 6;
86
    }
87
    if (cn == 7)
88
    {
89
        undyne.image_speed = 0;
90
        undyne.vhspeed = 0;
91
        sp = instance_create(undyne.x, undyne.y, obj_speartilegen);
92
        cn = 8;
93
    }
94
    if (cn >= 8 && cn < 9)
95
    {
96
        if (stk.image_alpha < 1)
97
            stk.image_alpha += 0.1;
98
        if (stopper == 1)
99
        {
100
            alarm[4] = -1;
101
            stopper = 0;
102
        }
103
        if (cn == 8)
104
        {
105
            if (obj_mainchara.x > (undyne.x + 40) && undyne.xhome < 1110)
106
            {
107
                undyne.hhspeed = 3;
108
                undyne.image_speed = 0.2;
109
                alarm[5] = 15;
110
                cn = 9;
111
            }
112
            if (obj_mainchara.x < (undyne.x - 40))
113
            {
114
                undyne.hhspeed = -3;
115
                undyne.image_speed = 0.2;
116
                alarm[5] = 15;
117
                cn = 9;
118
            }
119
            if (undyne.xhome >= 1110)
120
            {
121
                undyne.hhspeed = 0;
122
                undyne.yhome = 161;
123
                undyne.image_speed = 0;
124
                cn = 8.1;
125
            }
126
        }
127
        if (cn == 8.1)
128
        {
129
            if (obj_mainchara.y > (undyne.y + 60) && undyne.yhome < 550)
130
            {
131
                undyne.vhspeed = 3;
132
                undyne.image_speed = 0.2;
133
                alarm[4] = 10;
134
            }
135
            if (obj_mainchara.y < (undyne.y - 60) && undyne.yhome > 160)
136
            {
137
                undyne.vhspeed = -3;
138
                undyne.image_speed = 0.2;
139
                alarm[4] = 10;
140
            }
141
            if (undyne.yhome <= 160)
142
            {
143
                undyne.vhspeed = 0;
144
                undyne.image_speed = 0;
145
                if (obj_mainchara.x < (undyne.x - 60))
146
                {
147
                    cn = 8;
148
                    undyne.xhome = 1109;
149
                    alarm[4] = -1;
150
                }
151
            }
152
            if (undyne.yhome >= 550)
153
            {
154
                undyne.vhspeed = 0;
155
                undyne.image_speed = 0;
156
                undyne.xhome = 1109;
157
                cn = 8.2;
158
                alarm[4] = -1;
159
            }
160
        }
161
        if (cn == 8.2)
162
        {
163
            if (obj_mainchara.x > (undyne.x + 40) && undyne.xhome < 1110)
164
            {
165
                undyne.hhspeed = 3;
166
                undyne.image_speed = 0.2;
167
                alarm[5] = 15;
168
                cn = 9.2;
169
            }
170
            if (obj_mainchara.x < (undyne.x - 20) && undyne.xhome > 800)
171
            {
172
                undyne.hhspeed = -3;
173
                undyne.image_speed = 0.2;
174
                alarm[5] = 15;
175
                cn = 9.2;
176
            }
177
            if (undyne.xhome <= 800)
178
            {
179
                undyne.hhspeed = 0;
180
                undyne.image_speed = 0;
181
                cn = 8.3;
182
                undyne.yhome = 551;
183
            }
184
            if (undyne.xhome >= 1110)
185
            {
186
                undyne.hhspeed = 0;
187
                undyne.image_speed = 0;
188
                undyne.yhome = 549;
189
                cn = 8.1;
190
            }
191
        }
192
        if (cn == 8.3)
193
        {
194
            if (obj_mainchara.y > (undyne.y + 60) && undyne.yhome > 550)
195
            {
196
                undyne.vhspeed = 3;
197
                undyne.image_speed = 0.2;
198
                alarm[4] = 10;
199
            }
200
            if (obj_mainchara.y < (undyne.y - 10) && undyne.yhome < 800)
201
            {
202
                undyne.vhspeed = -3;
203
                undyne.image_speed = 0.2;
204
                alarm[4] = 10;
205
            }
206
            if (undyne.yhome <= 550)
207
            {
208
                undyne.vhspeed = 0;
209
                undyne.image_speed = 0;
210
                if (obj_mainchara.x > (undyne.x + 60))
211
                {
212
                    cn = 8.2;
213
                    undyne.yhome = 551;
214
                    undyne.xhome = 801;
215
                    alarm[4] = -1;
216
                }
217
            }
218
            if (undyne.yhome >= 800)
219
            {
220
                undyne.vhspeed = 0;
221
                undyne.image_speed = 0;
222
                if (obj_mainchara.x > (undyne.x + 40))
223
                {
224
                    undyne.xhome = 801;
225
                    cn = 8.4;
226
                    alarm[4] = -1;
227
                }
228
            }
229
        }
230
        if (cn == 8.4)
231
        {
232
            if (obj_mainchara.x > (undyne.x + 40) && undyne.xhome < 1110)
233
            {
234
                undyne.hhspeed = 3;
235
                undyne.image_speed = 0.2;
236
                alarm[5] = 15;
237
                cn = 9.4;
238
            }
239
            if (obj_mainchara.x < (undyne.x - 20) && undyne.xhome > 800)
240
            {
241
                undyne.hhspeed = -3;
242
                undyne.image_speed = 0.2;
243
                alarm[5] = 15;
244
                cn = 9.4;
245
            }
246
            if (undyne.xhome <= 800)
247
            {
248
                undyne.hhspeed = 0;
249
                undyne.image_speed = 0;
250
                if (obj_mainchara.y < (undyne.y - 10))
251
                {
252
                    undyne.yhome = 799;
253
                    cn = 8.3;
254
                }
255
            }
256
            if (undyne.xhome >= 1110)
257
            {
258
                undyne.hhspeed = 0;
259
                undyne.image_speed = 0;
260
            }
261
        }
262
    }
263
    if (cn == 10)
264
    {
265
        if (obj_mainchara.x > (undyne.x + 40) || obj_mainchara.x < (undyne.x - 40))
266
        {
267
            cn = 8;
268
        }
269
        else
270
        {
271
            undyne.image_speed = 0;
272
            undyne.hhspeed = 0;
273
            cn = 8;
274
        }
275
    }
276
    if (cn == 9)
277
    {
278
        if (undyne.xhome > 1110)
279
            undyne.hhspeed = 0;
280
        if (alarm[5] <= 1)
281
            cn = 10;
282
    }
283
    if (cn == 9.1)
284
        cn = 12;
285
    if (cn == 9.2)
286
    {
287
        if (undyne.xhome > 1110 || undyne.xhome < 800)
288
            undyne.hhspeed = 0;
289
        if (alarm[5] <= 1)
290
            cn = 13;
291
    }
292
    if (cn == 9.3)
293
        cn = 14;
294
    if (cn == 9.4)
295
    {
296
        if (undyne.xhome > 1110 || undyne.xhome < 800)
297
            undyne.hhspeed = 0;
298
        if (alarm[5] <= 1)
299
            cn = 15;
300
    }
301
    if (cn == 12)
302
    {
303
        if (obj_mainchara.y > (undyne.y + 60) || obj_mainchara.y < (undyne.y - 60))
304
        {
305
            cn = 8.1;
306
        }
307
        else
308
        {
309
            undyne.image_speed = 0;
310
            undyne.vhspeed = 0;
311
            cn = 8.1;
312
        }
313
    }
314
    if (cn == 13)
315
    {
316
        if (obj_mainchara.x > (undyne.x + 40) || obj_mainchara.x < (undyne.x - 20))
317
        {
318
            cn = 8.2;
319
        }
320
        else
321
        {
322
            undyne.image_speed = 0;
323
            undyne.hhspeed = 0;
324
            cn = 8.2;
325
        }
326
    }
327
    if (cn == 14)
328
    {
329
        if (obj_mainchara.y > (undyne.y + 60) || obj_mainchara.y < (undyne.y - 60))
330
        {
331
            cn = 8.3;
332
        }
333
        else
334
        {
335
            undyne.image_speed = 0;
336
            undyne.vhspeed = 0;
337
            cn = 8.3;
338
        }
339
    }
340
    if (cn == 15)
341
    {
342
        if (obj_mainchara.x > (undyne.x + 40) || obj_mainchara.x < (undyne.x - 20))
343
        {
344
            cn = 8.4;
345
        }
346
        else
347
        {
348
            undyne.image_speed = 0;
349
            undyne.hhspeed = 0;
350
            cn = 8.4;
351
        }
352
    }
353
}