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
    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
if ((obj_queen_enemy.shieldhp / obj_queen_enemy.shieldmaxhp) <= (obj_queen_enemy.shieldacthp / obj_queen_enemy.shieldactmaxhp))
362
{
363
    hptype = 0
364
    repeat (10)
365
    {
366
        if (obj_queen_enemy.shieldhp < shieldhpgradual)
367
            shieldhpgradual -= 1
368
    }
369
    repeat (obj_queen_enemy.phase - 1)
370
    {
371
        repeat (10)
372
        {
373
            if (obj_queen_enemy.shieldhp > shieldhpgradual)
374
                shieldhpgradual += 1
375
        }
376
    }
377
    var wineheight = lerp(shieldheight, 0, (shieldhpgradual / obj_queen_enemy.shieldmaxhp))
378
}
379
else
380
{
381
    hptype = 1
382
    if (shieldhpgradual > obj_queen_enemy.shieldactmaxhp)
383
        shieldhpgradual = obj_queen_enemy.shieldactmaxhp
384
    repeat (10)
385
    {
386
        if (obj_queen_enemy.shieldacthp < shieldhpgradual)
387
            shieldhpgradual -= 0.01
388
    }
389
    repeat (obj_queen_enemy.phase - 1)
390
    {
391
        repeat (10)
392
        {
393
            if (obj_queen_enemy.shieldacthp > shieldhpgradual)
394
                shieldhpgradual += 0.01
395
        }
396
    }
397
    wineheight = lerp(shieldheight, 0, (shieldhpgradual / obj_queen_enemy.shieldactmaxhp))
398
}
399
if (shaketimer > 0)
400
{
401
    x = xstart - shaketimer + shaketimer * 2
402
    y = ystart - shaketimer + shaketimer * 2
403
    shaketimer--
404
}
405
if (shieldhurt == 1)
406
{
407
    shieldindex = 2
408
    shieldx = (random(shieldhurttimer) - random(shieldhurttimer)) * 2
409
    shieldhurttimer--
410
    if (shieldhurttimer <= 0)
411
        shieldhurt = 0
412
}
413
if (shieldhurt == 2)
414
{
415
    event_user(1)
416
    instance_destroy()
417
}
418
if (appearcon != 0)
419
    draw_sprite_ext(sprite_index, 1, (x + 7), (y + 3), image_xscale, image_yscale, 0, c_white, shieldalpha)
420
else
421
{
422
    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)
423
    draw_sprite_part_ext(sprite_index, (shieldindex + 1), 0, 0, sprite_width, wineheight, (x + shieldx), y, image_xscale, image_yscale, c_white, shieldalpha)
424
    if ((shieldhpgradual <= 5 && hptype == 0) || (shieldhpgradual < 1 && hptype == 1))
425
    {
426
        imabouttobreak_siner += 0.5
427
        imabouttobreak_alpha = 0.1 + sin(imabouttobreak_siner) / 6
428
        d3d_set_fog(true, c_white, 0, 1)
429
        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)
430
        draw_sprite_part_ext(sprite_index, (shieldindex + 1), 0, 0, sprite_width, wineheight, (x + shieldx), y, image_xscale, image_yscale, c_white, imabouttobreak_alpha)
431
        d3d_set_fog(false, c_black, 0, 0)
432
    }
433
}