event_inherited(); switch (phase) { case 0: pattern_time++; if (launch_time <= 0) { var _amount = 0; with (obj_audiencehater) { if (phase == 0 && pattern_time < 10) _amount++; } with (obj_audiencehater) { if (phase == 0 && pattern_time < 10) launch_time = 46 + ((_amount - 1) * 2); } } if (pattern_time >= (launch_time - 25)) image_yscale = (image_yscale * 0.8) + 0.13340000000000002; image_xscale = 1 + (1 - image_yscale); var _distance = 0; var _overshoot = 0; if (instance_exists(obj_heart)) { var _dir = image_angle + 90; _distance = point_distance(x, y, obj_heart.x, obj_heart.y); _overshoot = (_distance * _distance) / 860; var _dest = point_direction(x, y, obj_heart.x, obj_heart.y - _overshoot); if (_dir < (_dest - 180)) _dir += 360; if (_dir > (_dest + 180)) _dir -= 360; _dir = (_dir * 0.8) + (_dest * 0.2); image_angle = _dir - 90; } if (pattern_time == (launch_time - 9)) { var _scalepush = (1 - image_yscale) * sprite_get_height(sprite_index) * 0.75; var i = 0; repeat (4) { var _trail = instance_create_depth(x + lengthdir_x(_scalepush, image_angle + 270), y + lengthdir_y(_scalepush, image_angle + 270), 0, obj_pinktrail); _trail.visible = 1; _trail.sprite_index = sprite_index; _trail.image_index = 1; _trail.image_angle = image_angle; _trail.image_xscale = image_xscale; _trail.image_yscale = image_yscale; _trail.image_blend = #FFFF88; _trail.direction = i * 90; _trail.speed = 3; i++; } } if (pattern_time >= launch_time) { if (!audio_is_playing(snd_explosion_mmx3)) snd_play(snd_explosion_mmx3); direction = point_direction(x, y, obj_heart.x, obj_heart.y - _overshoot); speed = 15; gravity_direction = 270; gravity = 0.5; image_xscale = 1; image_yscale = 1; boom_frame = 0; boom_x = x; boom_y = y; bar_x = x + lengthdir_x(7, 315 + image_angle); bar_y = y + lengthdir_y(7, 315 + image_angle); bar_hspeed = -sign(hspeed) * random(abs(hspeed / 2)); bar_vspeed = -3 - random(7); bar_spin = choose(-1, 1) * (5 + random(85)); bar_angle = random(360); pattern_time = 0; phase++; } break; case 1: bar_x += bar_hspeed; bar_y += bar_vspeed; bar_vspeed += 0.4; bar_angle += bar_spin; if (bar_angle >= 360) bar_angle -= 360; if (bar_angle < 0) bar_angle += 360; switch (floor(boom_frame)) { case 0: case 1: case 2: case 3: case 4: boom_frame += 1; break; case 5: boom_frame += 0.5; break; case 6: boom_frame += 0.334; break; case 7: boom_frame += 0.334; break; } hspeed *= 0.999; if ((pattern_time % 2) == 0) { var _trail = instance_create_depth(x, y, 0, obj_pinktrail); _trail.visible = 1; _trail.sprite_index = sprite_index; _trail.image_angle = image_angle; _trail.image_xscale = image_xscale; _trail.image_yscale = image_yscale; } break; } life_time++;