Deltarune script viewer

← back to main script listing

gml_Object_obj_queenshield_enemy_old2_Draw_0

(view raw script w/o annotations or w/e)
1
shieldsiner++;
2
y += (sin(shieldsiner / 6) * 0.5);
3
if ((obj_queen_enemy.shieldhp / obj_queen_enemy.shieldmaxhp) <= (obj_queen_enemy.shieldacthp / obj_queen_enemy.shieldactmaxhp))
4
{
5
    var a = obj_queen_enemy.shieldhp / obj_queen_enemy.shieldmaxhp;
6
    if (shieldsize == 5)
7
    {
8
        if (a < 0.8)
9
            shieldpiece_alpha[0] = spr_queenshield_pieces_hurt;
10
        else
11
            shieldpiece_alpha[0] = spr_queenshield_pieces;
12
        if (a < 0.6)
13
            shieldpiece_alpha[1] = spr_queenshield_pieces_hurt;
14
        else
15
            shieldpiece_alpha[1] = spr_queenshield_pieces;
16
        if (a < 0.4)
17
            shieldpiece_alpha[2] = spr_queenshield_pieces_hurt;
18
        else
19
            shieldpiece_alpha[2] = spr_queenshield_pieces;
20
        if (a < 0.2)
21
            shieldpiece_alpha[3] = spr_queenshield_pieces_hurt;
22
        else
23
            shieldpiece_alpha[3] = spr_queenshield_pieces;
24
    }
25
    if (shieldsize == 10)
26
    {
27
        if (a < 0.9)
28
            shieldpiece_alpha[0] = spr_queenshield_pieces_hurt;
29
        else
30
            shieldpiece_alpha[0] = spr_queenshield_pieces;
31
        if (a < 0.8)
32
            shieldpiece_alpha[1] = spr_queenshield_pieces_hurt;
33
        else
34
            shieldpiece_alpha[1] = spr_queenshield_pieces;
35
        if (a < 0.7)
36
            shieldpiece_alpha[2] = spr_queenshield_pieces_hurt;
37
        else
38
            shieldpiece_alpha[2] = spr_queenshield_pieces;
39
        if (a < 0.6)
40
            shieldpiece_alpha[3] = spr_queenshield_pieces_hurt;
41
        else
42
            shieldpiece_alpha[3] = spr_queenshield_pieces;
43
        if (a < 0.5)
44
            shieldpiece_alpha[4] = spr_queenshield_pieces_hurt;
45
        else
46
            shieldpiece_alpha[4] = spr_queenshield_pieces;
47
        if (a < 0.4)
48
            shieldpiece_alpha[5] = spr_queenshield_pieces_hurt;
49
        else
50
            shieldpiece_alpha[5] = spr_queenshield_pieces;
51
        if (a < 0.3)
52
            shieldpiece_alpha[6] = spr_queenshield_pieces_hurt;
53
        else
54
            shieldpiece_alpha[6] = spr_queenshield_pieces;
55
        if (a < 0.2)
56
            shieldpiece_alpha[7] = spr_queenshield_pieces_hurt;
57
        else
58
            shieldpiece_alpha[7] = spr_queenshield_pieces;
59
        if (a < 0.1)
60
            shieldpiece_alpha[8] = spr_queenshield_pieces_hurt;
61
        else
62
            shieldpiece_alpha[8] = spr_queenshield_pieces;
63
    }
64
    if (shieldsize == 15)
65
    {
66
        if (a < 0.9333333333333333)
67
            shieldpiece_alpha[0] = spr_queenshield_pieces_hurt;
68
        else
69
            shieldpiece_alpha[0] = spr_queenshield_pieces;
70
        if (a < 0.8666666666666667)
71
            shieldpiece_alpha[1] = spr_queenshield_pieces_hurt;
72
        else
73
            shieldpiece_alpha[1] = spr_queenshield_pieces;
74
        if (a < 0.8)
75
            shieldpiece_alpha[2] = spr_queenshield_pieces_hurt;
76
        else
77
            shieldpiece_alpha[2] = spr_queenshield_pieces;
78
        if (a < 0.7333333333333333)
79
            shieldpiece_alpha[3] = spr_queenshield_pieces_hurt;
80
        else
81
            shieldpiece_alpha[3] = spr_queenshield_pieces;
82
        if (a < (2/3))
83
            shieldpiece_alpha[4] = spr_queenshield_pieces_hurt;
84
        else
85
            shieldpiece_alpha[4] = spr_queenshield_pieces;
86
        if (a < 0.6)
87
            shieldpiece_alpha[5] = spr_queenshield_pieces_hurt;
88
        else
89
            shieldpiece_alpha[5] = spr_queenshield_pieces;
90
        if (a < 0.5333333333333333)
91
            shieldpiece_alpha[6] = spr_queenshield_pieces_hurt;
92
        else
93
            shieldpiece_alpha[6] = spr_queenshield_pieces;
94
        if (a < 0.4666666666666667)
95
            shieldpiece_alpha[7] = spr_queenshield_pieces_hurt;
96
        else
97
            shieldpiece_alpha[7] = spr_queenshield_pieces;
98
        if (a < 0.4)
99
            shieldpiece_alpha[8] = spr_queenshield_pieces_hurt;
100
        else
101
            shieldpiece_alpha[8] = spr_queenshield_pieces;
102
        if (a < (1/3))
103
            shieldpiece_alpha[9] = spr_queenshield_pieces_hurt;
104
        else
105
            shieldpiece_alpha[9] = spr_queenshield_pieces;
106
        if (a < 0.26666666666666666)
107
            shieldpiece_alpha[10] = spr_queenshield_pieces_hurt;
108
        else
109
            shieldpiece_alpha[10] = spr_queenshield_pieces;
110
        if (a < 0.2)
111
            shieldpiece_alpha[11] = spr_queenshield_pieces_hurt;
112
        else
113
            shieldpiece_alpha[11] = spr_queenshield_pieces;
114
        if (a < 0.13333333333333333)
115
            shieldpiece_alpha[12] = spr_queenshield_pieces_hurt;
116
        else
117
            shieldpiece_alpha[12] = spr_queenshield_pieces;
118
        if (a < (1/15))
119
            shieldpiece_alpha[13] = spr_queenshield_pieces_hurt;
120
        else
121
            shieldpiece_alpha[13] = spr_queenshield_pieces;
122
    }
123
}
124
else
125
{
126
    var a = obj_queen_enemy.shieldacthp / obj_queen_enemy.shieldactmaxhp;
127
    if (shieldsize == 5)
128
    {
129
        if (a < 0.8)
130
            shieldpiece_alpha[0] = spr_queenshield_pieces_hurt;
131
        else
132
            shieldpiece_alpha[0] = spr_queenshield_pieces;
133
        if (a < 0.6)
134
            shieldpiece_alpha[1] = spr_queenshield_pieces_hurt;
135
        else
136
            shieldpiece_alpha[1] = spr_queenshield_pieces;
137
        if (a < 0.4)
138
            shieldpiece_alpha[2] = spr_queenshield_pieces_hurt;
139
        else
140
            shieldpiece_alpha[2] = spr_queenshield_pieces;
141
        if (a < 0.2)
142
            shieldpiece_alpha[3] = spr_queenshield_pieces_hurt;
143
        else
144
            shieldpiece_alpha[3] = spr_queenshield_pieces;
145
    }
146
    if (shieldsize == 10)
147
    {
148
        if (a < 0.9)
149
            shieldpiece_alpha[0] = spr_queenshield_pieces_hurt;
150
        else
151
            shieldpiece_alpha[0] = spr_queenshield_pieces;
152
        if (a < 0.8)
153
            shieldpiece_alpha[1] = spr_queenshield_pieces_hurt;
154
        else
155
            shieldpiece_alpha[1] = spr_queenshield_pieces;
156
        if (a < 0.7)
157
            shieldpiece_alpha[2] = spr_queenshield_pieces_hurt;
158
        else
159
            shieldpiece_alpha[2] = spr_queenshield_pieces;
160
        if (a < 0.6)
161
            shieldpiece_alpha[3] = spr_queenshield_pieces_hurt;
162
        else
163
            shieldpiece_alpha[3] = spr_queenshield_pieces;
164
        if (a < 0.5)
165
            shieldpiece_alpha[4] = spr_queenshield_pieces_hurt;
166
        else
167
            shieldpiece_alpha[4] = spr_queenshield_pieces;
168
        if (a < 0.4)
169
            shieldpiece_alpha[5] = spr_queenshield_pieces_hurt;
170
        else
171
            shieldpiece_alpha[5] = spr_queenshield_pieces;
172
        if (a < 0.3)
173
            shieldpiece_alpha[6] = spr_queenshield_pieces_hurt;
174
        else
175
            shieldpiece_alpha[6] = spr_queenshield_pieces;
176
        if (a < 0.2)
177
            shieldpiece_alpha[7] = spr_queenshield_pieces_hurt;
178
        else
179
            shieldpiece_alpha[7] = spr_queenshield_pieces;
180
        if (a < 0.1)
181
            shieldpiece_alpha[8] = spr_queenshield_pieces_hurt;
182
        else
183
            shieldpiece_alpha[8] = spr_queenshield_pieces;
184
    }
185
    if (shieldsize == 15)
186
    {
187
        if (a < 0.9333333333333333)
188
            shieldpiece_alpha[0] = spr_queenshield_pieces_hurt;
189
        else
190
            shieldpiece_alpha[0] = spr_queenshield_pieces;
191
        if (a < 0.8666666666666667)
192
            shieldpiece_alpha[1] = spr_queenshield_pieces_hurt;
193
        else
194
            shieldpiece_alpha[1] = spr_queenshield_pieces;
195
        if (a < 0.8)
196
            shieldpiece_alpha[2] = spr_queenshield_pieces_hurt;
197
        else
198
            shieldpiece_alpha[2] = spr_queenshield_pieces;
199
        if (a < 0.7333333333333333)
200
            shieldpiece_alpha[3] = spr_queenshield_pieces_hurt;
201
        else
202
            shieldpiece_alpha[3] = spr_queenshield_pieces;
203
        if (a < (2/3))
204
            shieldpiece_alpha[4] = spr_queenshield_pieces_hurt;
205
        else
206
            shieldpiece_alpha[4] = spr_queenshield_pieces;
207
        if (a < 0.6)
208
            shieldpiece_alpha[5] = spr_queenshield_pieces_hurt;
209
        else
210
            shieldpiece_alpha[5] = spr_queenshield_pieces;
211
        if (a < 0.5333333333333333)
212
            shieldpiece_alpha[6] = spr_queenshield_pieces_hurt;
213
        else
214
            shieldpiece_alpha[6] = spr_queenshield_pieces;
215
        if (a < 0.4666666666666667)
216
            shieldpiece_alpha[7] = spr_queenshield_pieces_hurt;
217
        else
218
            shieldpiece_alpha[7] = spr_queenshield_pieces;
219
        if (a < 0.4)
220
            shieldpiece_alpha[8] = spr_queenshield_pieces_hurt;
221
        else
222
            shieldpiece_alpha[8] = spr_queenshield_pieces;
223
        if (a < (1/3))
224
            shieldpiece_alpha[9] = spr_queenshield_pieces_hurt;
225
        else
226
            shieldpiece_alpha[9] = spr_queenshield_pieces;
227
        if (a < 0.26666666666666666)
228
            shieldpiece_alpha[10] = spr_queenshield_pieces_hurt;
229
        else
230
            shieldpiece_alpha[10] = spr_queenshield_pieces;
231
        if (a < 0.2)
232
            shieldpiece_alpha[11] = spr_queenshield_pieces_hurt;
233
        else
234
            shieldpiece_alpha[11] = spr_queenshield_pieces;
235
        if (a < 0.13333333333333333)
236
            shieldpiece_alpha[12] = spr_queenshield_pieces_hurt;
237
        else
238
            shieldpiece_alpha[12] = spr_queenshield_pieces;
239
        if (a < (1/15))
240
            shieldpiece_alpha[13] = spr_queenshield_pieces_hurt;
241
        else
242
            shieldpiece_alpha[13] = spr_queenshield_pieces;
243
    }
244
}
245
draw_set_alpha(shieldalpha * 0.8);
246
draw_set_color(c_lime);
247
draw_triangle(queenhandx, queenhandy, x + 81, shieldpiece_y[0] + 2, x + 81, shieldpiece_y[shieldsize - 1] + y + 33, true);
248
draw_triangle_colour(queenhandx, queenhandy, x + 81, shieldpiece_y[0] + 2, x + 81, shieldpiece_y[shieldsize - 1] + y + 33, 0, 65280, 65280, false);
249
for (i = 0; i < 10; i++)
250
{
251
    shieldpiece_x[i] = x + 40;
252
    draw_sprite_ext(spr_queenshield_pieces, shieldpiece_image_index[i], shieldpiece_x[i], shieldpiece_y[i], shieldpiece_xscale[i], shieldpiece_yscale[i] + y, 0, c_white, shieldpiece_alpha[i]);
253
    repeat (5)
254
    {
255
        if (shieldpiece_y[i] < shieldpiece_y_origin[i])
256
            shieldpiece_y[i]++;
257
        if (shieldpiece_y[i] > shieldpiece_y_origin[i])
258
            shieldpiece_y[i]--;
259
    }
260
    if (obj_queen_enemy.shieldhp <= 5 || obj_queen_enemy.shieldacthp < 1)
261
    {
262
        imabouttobreak_siner += 0.5;
263
        imabouttobreak_alpha = 0.1 + (sin(imabouttobreak_siner) / 6);
264
        d3d_set_fog(true, c_white, 0, 1);
265
        draw_sprite_ext(spr_queenshield_pieces, shieldpiece_image_index[i], shieldpiece_x[i], shieldpiece_y[i], shieldpiece_xscale[i], shieldpiece_yscale[i] + y, 0, c_white, shieldpiece_alpha[i]);
266
        d3d_set_fog(false, c_black, 0, 0);
267
    }
268
}
269
if (appearcon == 1)
270
{
271
    if (shieldsize == 5)
272
    {
273
        shieldpiece_y_origin[0] = 95;
274
        shieldpiece_y_origin[1] = 115;
275
        shieldpiece_y_origin[2] = 135;
276
        shieldpiece_y_origin[3] = 155;
277
        shieldpiece_y_origin[4] = 175;
278
    }
279
    if (shieldsize == 10)
280
    {
281
        shieldpiece_y_origin[0] = 50;
282
        shieldpiece_y_origin[1] = 75;
283
        shieldpiece_y_origin[2] = 95;
284
        shieldpiece_y_origin[3] = 115;
285
        shieldpiece_y_origin[4] = 135;
286
        shieldpiece_y_origin[5] = 155;
287
        shieldpiece_y_origin[6] = 175;
288
        shieldpiece_y_origin[7] = 195;
289
        shieldpiece_y_origin[8] = 215;
290
        shieldpiece_y_origin[9] = 240;
291
    }
292
    if (shieldsize == 15)
293
    {
294
        shieldpiece_y_origin[0] = 10;
295
        shieldpiece_y_origin[1] = 35;
296
        shieldpiece_y_origin[2] = 55;
297
        shieldpiece_y_origin[3] = 75;
298
        shieldpiece_y_origin[4] = 95;
299
        shieldpiece_y_origin[5] = 115;
300
        shieldpiece_y_origin[6] = 135;
301
        shieldpiece_y_origin[7] = 155;
302
        shieldpiece_y_origin[8] = 175;
303
        shieldpiece_y_origin[9] = 195;
304
        shieldpiece_y_origin[10] = 215;
305
        shieldpiece_y_origin[11] = 235;
306
        shieldpiece_y_origin[12] = 255;
307
        shieldpiece_y_origin[13] = 275;
308
        shieldpiece_y_origin[14] = 300;
309
    }
310
    appearcon = 0;
311
}
312
if (appearcon == 2)
313
{
314
    for (i = 0; i < 14; i++)
315
        shieldpiece_y[i] = y + 145;
316
    appearcon = 0;
317
}
318
if (shieldhurt != 2)
319
    shieldalpha = 0.7 + (sin(shieldsiner / 7) * 0.05);
320
if (shieldsize == 5)
321
{
322
    shieldpiece_image_index[0] = 0;
323
    shieldpiece_image_index[1] = 1;
324
    shieldpiece_image_index[2] = 1;
325
    shieldpiece_image_index[3] = 1;
326
    shieldpiece_image_index[4] = 2;
327
}
328
if (shieldsize == 10)
329
{
330
    shieldpiece_image_index[0] = 0;
331
    shieldpiece_image_index[1] = 1;
332
    shieldpiece_image_index[2] = 1;
333
    shieldpiece_image_index[3] = 1;
334
    shieldpiece_image_index[4] = 1;
335
    shieldpiece_image_index[5] = 1;
336
    shieldpiece_image_index[6] = 1;
337
    shieldpiece_image_index[7] = 1;
338
    shieldpiece_image_index[8] = 1;
339
    shieldpiece_image_index[9] = 2;
340
}
341
if (shieldsize == 15)
342
{
343
    shieldpiece_image_index[0] = 0;
344
    shieldpiece_image_index[1] = 1;
345
    shieldpiece_image_index[2] = 1;
346
    shieldpiece_image_index[3] = 1;
347
    shieldpiece_image_index[4] = 1;
348
    shieldpiece_image_index[5] = 1;
349
    shieldpiece_image_index[6] = 1;
350
    shieldpiece_image_index[7] = 1;
351
    shieldpiece_image_index[8] = 1;
352
    shieldpiece_image_index[9] = 1;
353
    shieldpiece_image_index[10] = 1;
354
    shieldpiece_image_index[11] = 1;
355
    shieldpiece_image_index[12] = 1;
356
    shieldpiece_image_index[13] = 1;
357
    shieldpiece_image_index[14] = 2;
358
}
359
var shieldindex = 0;
360
var hptype = 0;
361
var wineheight;
362
if ((obj_queen_enemy.shieldhp / obj_queen_enemy.shieldmaxhp) <= (obj_queen_enemy.shieldacthp / obj_queen_enemy.shieldactmaxhp))
363
{
364
    hptype = 0;
365
    repeat (10)
366
    {
367
        if (obj_queen_enemy.shieldhp < shieldhpgradual)
368
            shieldhpgradual -= 1;
369
    }
370
    repeat (obj_queen_enemy.phase - 1)
371
    {
372
        repeat (10)
373
        {
374
            if (obj_queen_enemy.shieldhp > shieldhpgradual)
375
                shieldhpgradual += 1;
376
        }
377
    }
378
    wineheight = lerp(shieldheight, 0, shieldhpgradual / obj_queen_enemy.shieldmaxhp);
379
}
380
else
381
{
382
    hptype = 1;
383
    if (shieldhpgradual > obj_queen_enemy.shieldactmaxhp)
384
        shieldhpgradual = obj_queen_enemy.shieldactmaxhp;
385
    repeat (10)
386
    {
387
        if (obj_queen_enemy.shieldacthp < shieldhpgradual)
388
            shieldhpgradual -= 0.01;
389
    }
390
    repeat (obj_queen_enemy.phase - 1)
391
    {
392
        repeat (10)
393
        {
394
            if (obj_queen_enemy.shieldacthp > shieldhpgradual)
395
                shieldhpgradual += 0.01;
396
        }
397
    }
398
    wineheight = lerp(shieldheight, 0, shieldhpgradual / obj_queen_enemy.shieldactmaxhp);
399
}
400
if (shaketimer > 0)
401
{
402
    x = (xstart - shaketimer) + (shaketimer * 2);
403
    y = (ystart - shaketimer) + (shaketimer * 2);
404
    shaketimer--;
405
}
406
if (shieldhurt == 1)
407
{
408
    shieldindex = 2;
409
    shieldx = (random(shieldhurttimer) - random(shieldhurttimer)) * 2;
410
    shieldhurttimer--;
411
    if (shieldhurttimer <= 0)
412
        shieldhurt = 0;
413
}
414
if (shieldhurt == 2)
415
{
416
    event_user(1);
417
    instance_destroy();
418
}
419
if (appearcon != 0)
420
{
421
    draw_sprite_ext(sprite_index, 1, x + 7, y + 3, image_xscale, image_yscale, 0, c_white, shieldalpha);
422
}
423
else
424
{
425
    draw_sprite_part_ext(sprite_index, shieldindex, 0, wineheight, sprite_width, shieldheight - wineheight, x + shieldx, y + (wineheight * image_yscale), image_xscale, image_yscale, c_white, shieldalpha);
426
    draw_sprite_part_ext(sprite_index, shieldindex + 1, 0, 0, sprite_width, wineheight, x + shieldx, y, image_xscale, image_yscale, c_white, shieldalpha);
427
    if ((shieldhpgradual <= 5 && hptype == 0) || (shieldhpgradual < 1 && hptype == 1))
428
    {
429
        imabouttobreak_siner += 0.5;
430
        imabouttobreak_alpha = 0.1 + (sin(imabouttobreak_siner) / 6);
431
        d3d_set_fog(true, c_white, 0, 1);
432
        draw_sprite_part_ext(sprite_index, shieldindex, 0, wineheight, sprite_width, shieldheight - wineheight, x + shieldx, y + (wineheight * image_yscale), image_xscale, image_yscale, c_white, imabouttobreak_alpha);
433
        draw_sprite_part_ext(sprite_index, shieldindex + 1, 0, 0, sprite_width, wineheight, x + shieldx, y, image_xscale, image_yscale, c_white, imabouttobreak_alpha);
434
        d3d_set_fog(false, c_black, 0, 0);
435
    }
436
}