active = 1; speed = 0; if (global.shooting == 1) { alarm[2] = 5; exit; } //bullets switch (global.bossstages) { case 3: if timer < 2 * global.RANK + 1 { timer += 1; global.owos = 0; repeat (global.RANK * 2 + 1) { iii = instance_create(x,y,obj_bullet_B); with (iii) { speed = 2 + 0.75 * global.RANK; direction = point_direction(x, y, obj_player.x, obj_player.y) - 30 + (30 / global.RANK) * global.owos; } global.owos += 1; } } if (tica == 0) { instance_create(x, y, obj_Bs1_bulletgen_A); instance_create(x, y, obj_Bs1_bulletgen_B); tica = 1; } if (once == 3) { repeat (global.RANK) { iii = instance_create(x + global.tap * cos(degtorad(3 * global.tap)),y + global.tap * sin(degtorad(3 * global.tap)), obj_bullet_C); with (iii) { speed = 1.5 + 0.5 * global.RANK; direction = global.tap + global.timeouts - 90; global.timeouts += 1; } } repeat (global.RANK) { iii = instance_create(x - global.tap * cos(degtorad(3 * global.tap)),y + global.tap * sin(degtorad(3 * global.tap)),obj_bullet_C); with (iii) { speed = 1.5 + 0.5 * global.RANK; direction = -global.tap - global.timeouts - 90; global.timeouts += 1; } } global.tap += 1; once = 0; } once += 1; global.tap += 2 / global.RANK; alarm[2] = 1; break; case 2: if (stoppers <= global.RANK) { iii = instance_create(x, y, obj_bullet_D); with (iii) { speed = 0.02; friction = -0.02 * global.RANK; alarm[0] = 55; direction = 75 - random(60); } iii = instance_create(x, y, obj_bullet_D); with (iii) { speed = 0.02; friction = -0.02 * global.RANK; alarm[0] = 55; direction = 105 + random(60); } } stoppers += 1; if (stoppers > 4) { stoppers = 0; } if global.tops < 3 + global.RANK; { global.tops += 1; repeat (10 + 5 * global.RANK) { iii = instance_create(x,y,obj_bullet_B); with (iii) { speed = 0.03; friction = -0.03 * global.RANK; direction = (global.monsters + 0.25 * global.tops) * (360 / (10 + 5 * global.RANK)); } global.monsters += 1; } } alarm[2] = 4; break; case 1: if (tina == 0) { instance_create(x, y, obj_Bs1_bulletgen_C); instance_create(x, y, obj_Bs1_bulletgen_D); tina = 1; } iii = instance_create(knights, y, obj_bullet_E); with (iii) { direction = 90; speed = random(2) + 2; gravity_direction = 260 + random(20); gravity = 0.3; } iii = instance_create(knights - 10, y, obj_bullet_G); with (iii) { direction = 90; speed = random(2) + 2; gravity_direction = 260 + random(20); gravity = 0.3; alarm[0] = 65; } iii = instance_create(640-knights,y,obj_bullet_E) with (iii) { direction = 90; speed = random(2) + 2; gravity_direction = 260 + random(20); gravity = 0.3; } iii = instance_create(640 - knights - 10, y, obj_bullet_G); with (iii) { direction = 90; speed = random(2) + 2; gravity_direction = 260 + random(20); gravity = 0.3; alarm[0] = 65; } alarm[2] = 5 - global.RANK; break; case 0: break; default: break; } if (add >= 60 + 20 * global.RANK) { movex = x - 100 + irandom(200); movey = y - 20 + irandom(40); if (movey > 200) { movey -= 60; } if (movey < 100) { movey += 60; } if (movex > 540) { movex -= 300; } if (movex < 100) { movex += 300; } move_towards_point(movex, movey, 4); friction = 0.1; alarm[2] = 180 - global.RANK * 15; global.tap = 0; global.timeouts = 0; timer = 0; add = 0; global.tops = 0; global.monsters = 0; tica = 0; knights = 0; tina = 0; }