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 |
} |