if (con == 0) { var jumptime = 15; scr_lerpvar("x", x, (obj_growtangle.x + 22) - (sprite_width / 2), round(jumptime * 1.2), 1, "out"); scr_lerpvar("y", y, obj_growtangle.y + (obj_growtangle.sprite_height / 2) + 20, jumptime, 3, "out"); con = -99; scr_script_delayed(scr_var, jumptime, "con", 1); foodalpha = 0; foodtimer = 0; flash = 0; foodangle = 0; } if (con == 1) { var mcx = x + (sprite_width / 2); var mcy = y + (sprite_height / 2); foodtimer += 4; foodalpha = lerp(foodalpha, 1, 0.125); foodangle = lerp(foodangle, 145, 0.1); var foodlength = 100 - foodtimer; if (foodcollected > 0 && foodlength > 0) { for (var i = 0; i < foodcollected; i++) draw_sprite_ext(spr_bullet_green_egg, 0, mcx + lengthdir_x(foodlength, ((360 / foodcollected) * i) + foodangle), mcy + lengthdir_y(foodlength, ((360 / foodcollected) * i) + foodangle), 1, 1, 0, c_white, foodalpha); } if (foodlength < 25 && flash == 0) { flash = 1; sprite_index = spr_enemy_orange_prepare; var oflash = scr_oflash(); oflash.flashspeed = 0.5; } if (foodlength <= 0 && !i_ex(obj_oflash)) { sprite_index = spr_enemy_orange_fly_withfist; scr_script_delayed(scr_var, 20, "createhands", 1); aurasiner = 0; auraalpha = 0; gensiner = 0; con = 2; foodtimer = 0; } draw_self(); } if (con == 2) { foodtimer++; auraalpha = lerp(auraalpha, 1, 0.125); aurasiner++; auracolor = merge_color(c_white, hexcolor(#33ADFF), aurasiner / 10); if (aurasiner == 10) aurasiner = 0; gensiner++; if (foodtimer == 2) dustlift = 1; var attacktime = 90; var _endy = -60; gravity = -0.5; var etx = -21; var ety = -32; draw_sprite_ext(spr_enemy_orange_energytrail, 0, etx + x + (sprite_width / 2), (ety + y) - 2, 1.3, 2, 0, auracolor, 0.5 * auraalpha); draw_sprite_ext(sprite_index, image_index, x + choose(-2, 0, 2), y + choose(-2, 0, 2), image_xscale, image_yscale, image_angle, image_blend, image_alpha); draw_sprite_ext(spr_enemy_orange_energytrail, 0, etx + x + (sprite_width / 2), (ety + y) - 2, 1.4, 2, 0, auracolor, 0.15 * auraalpha); if (y <= _endy) con = 3; } if (con == 3) { sprite_index = spr_enemy_orange_down; x = obj_orange_enemy.xstart - 5; gravity = 0.65; con = 4; } if (con == 4) { if (y >= (obj_orange_enemy.ystart + 4)) { y = obj_orange_enemy.ystart + 4; dust = instance_create(x + 16, y + 28, obj_animation); dust.sprite_index = spr_dust2; scr_darksize(dust); dust.image_speed = 0.5; dust.depth = depth - 5; dust.hspeed = -2; dust = instance_create(x + 36, y + 28, obj_animation); dust.sprite_index = spr_dust2; scr_darksize(dust); dust.image_speed = 0.5; dust.depth = depth - 5; dust.hspeed = 2; gravity = 0; vspeed = 0; mode = 0; siner = 0; con = -999; snd_play(snd_impact); scr_shakescreen(); with (obj_orange_enemy) { x = xstart; y = ystart; scr_var_delayed("visible", 1, 30); } scr_script_delayed(instance_destroy, 30); global.turntimer = 30; } } draw_self(); if (dustlift == 1) { dustlift = 0; for (var i = 0; i < 6; i++) { dust = instance_create(x + 16, y + 28, obj_animation); dust.sprite_index = spr_dust2; scr_darksize(dust); dust.image_speed = 0.5 - random(0.2); dust.depth = depth - 5; dust.hspeed = -(2 + i + random(0.5)); dust.vspeed = (i / 3) + random(0.5); dust.friction = 0.1; dust = instance_create(x + 36, y + 28, obj_animation); dust.sprite_index = spr_dust2; scr_darksize(dust); dust.image_speed = 0.5 - random(0.2); dust.depth = depth - 5; dust.hspeed = 2 + i + random(0.5); dust.vspeed = (i / 3) + random(0.5); dust.friction = 0.1; } } if (createhands == 1) { var fistcount = 3; if (foodcollected < 10) fistcount = 3; if (foodcollected < 5) fistcount = 5; if (foodcollected == 0) fistcount = 10; var growtanglesize = obj_growtangle.sprite_width; for (var i = 0; i < fistcount; i++) { var xloc = 24 + (obj_growtangle.x - (growtanglesize / 2)) + (i * (growtanglesize / fistcount)); var yloc = obj_growtangle.y + (obj_growtangle.sprite_height / 2) + 20; var fist = instance_create(xloc, yloc, obj_regularbullet); fist.sprite_index = spr_enemy_orange_glove_front; fist.image_xscale = 2 + random(1); fist.image_yscale = image_xscale; fist.vspeed = -4 - random(2); fist.friction = 0.002; fist.image_angle -= 90; scr_doom(fist, 120); createhands = 0; fist.image_alpha = 0; fist.damage = 200; fist.target = 4; with (fist) scr_lerpvar("image_alpha", 0, 1, 10); } } if (global.turntimer < 1) instance_destroy();