Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- layer_x("Backgrounds_2",x);
- layer_y("Backgrounds_2",y);
- scrGlowStep();
- if(phase != 4){
- image_angle += 1;
- }
- else if(phase = 4){
- image_angle += 0.5;
- }
- //phase transitions
- if(hp <= 0 && phase != 4){
- hp = 100;
- path_end();
- phaseTransition = true;
- global.seconds += 30;
- }
- else if(hp <= 0 && phase = 4){
- global.bossdeath = true;
- instance_destroy(pEnemy);
- }
- if(global.bossdeath = true){
- speed = 0;
- moveSpeed = 0;
- //phase 1 vars
- cooldownTillMove = 240;
- maxCooldownTillMove = cooldownTillMove;
- resetMove = true;
- fireBullets = false;
- bulletsCreated = 0;
- maxBulletsCreated = 3;
- bulletsCooldown = 10;
- //phase 2 vars
- canCreateBullets = false;
- bulletCreationCooldown = 160;
- maxBulletCreationCooldown = bulletCreationCooldown;
- bulletsCreated = 0;
- individualBulletCooldown = 10;
- maxIndividualBulletCooldown = individualBulletCooldown;
- randomEnemyCreationCooldown = 150;
- maxRandomEnemyCreationCooldown = randomEnemyCreationCooldown;
- //phase 3 vars
- bulletSpiralCooldown = 40;
- maxBulletSpiralCooldown = bulletSpiralCooldown;
- dir = 60;
- dirAddition = 0;
- maxAlarm0 = 240;
- alarm[0] = maxAlarm0;
- createEnemies = false;
- enemyType = 0;
- createEnemyCooldown = 30;
- maxCreateEnemyCooldown = createEnemyCooldown;
- explosionCooldown -= 1;
- if(explosionCooldown <= 0){
- amountOfExplosions += 0.2;
- explosionCooldown = maxExplosionCooldown/amountOfExplosions;
- audio_stop_sound(soBoss);
- scrVibrate(0,0.3,0.3,10);
- var sound = choose(soExplosion1,soExplosion2,soExplosion3,soExplosion4,soExplosion5,soExplosion6);
- audio_sound_pitch(sound,random_range(0.7,1.3));
- audio_play_sound(sound,80,false);
- image_angle = irandom_range(0,359);
- part_particles_create(sname1,irandom_range(x - 30,x + 30),irandom_range(y - 30,y + 30),particle1,amountOfExplosions * 5 + 10);
- part_type_size(particle2,1,2.5,-0.06,1);
- part_particles_create(sname2,x,y,particle2,30);
- }
- if(amountOfExplosions > 6.8){
- instance_destroy();
- part_type_size(particle1,3,4,0.001,0);
- part_particles_create(sname1,x,y,particle1,100);
- part_type_size(particle2,2,3,-0.06,1);
- part_particles_create(sname2,x,y,particle2,60);
- audio_play_sound(soBossDeath,80,false)
- }
- }
- else if(global.bossdeath = false){
- if(phaseTransition = true){
- if(phase = 1){
- if(point_distance(x,y,path_get_point_x(paBoss2Phase2,0),path_get_point_y(paBoss2Phase2,0)) >= 10){
- move_towards_point(path_get_point_x(paBoss2Phase2,0),path_get_point_y(paBoss2Phase2,0),speed);
- speed = 6;
- }
- else if(point_distance(x,y,path_get_point_x(paBoss2Phase2,0),path_get_point_y(paBoss2Phase2,0)) <= 10){
- speed = 0;
- path_start(paBoss2Phase2,maxPathSpeed,path_action_restart,true);
- phase += 1;
- phaseTransition = false;
- }
- }
- if(phase = 2 && phaseTransition = true){
- if(point_distance(x,y,room_width/2,room_height/2) > 10){
- speed = 6;
- move_towards_point(room_width/2,room_height/2,speed);
- }
- else if(point_distance(x,y,room_width/2,room_height/2) <= 10){
- speed = 0;
- phase += 1;
- phaseTransition = false;
- }
- }
- if(phase = 3 && phaseTransition = true){
- }
- }
- if(phaseTransition = false){
- if(phase = 1){
- //movement
- cooldownTillMove -= 1;
- if(cooldownTillMove = 0 && resetMove = true){
- path_speed = 0;
- fireBullets = true;
- resetMove = false;
- }
- if(fireBullets = true && resetMove = false){
- bulletsCooldown -= 1;
- if(bulletsCooldown <= 0 && bulletsCreated < maxBulletsCreated){
- for(var i = 0; i < 6; i++){
- var myEnemy = instance_create_layer(x + lengthdir_x(120,60 * i),y + lengthdir_y(120,60 * i),layer,oEnemyWarning);
- myEnemy.enemyToCreate = oEnemyArrow;
- myEnemy.arrowDirection = 60*i;
- }
- bulletsCooldown = 10;
- bulletsCreated += 1;
- }
- if(bulletsCreated = maxBulletsCreated){
- cooldownTillMove = maxCooldownTillMove;
- fireBullets = false;
- resetMove = true;
- bulletsCreated = 0;
- bulletsCooldown = 10;
- path_speed = maxPathSpeed;
- }
- }
- }
- else if(phase = 2){
- var bulletDir;
- bulletCreationCooldown -= 1;
- if(bulletCreationCooldown = 0){
- canCreateBullets = true;
- }
- if(canCreateBullets = true){
- individualBulletCooldown -= 1;
- if(path_position >= 0 && path_position < 0.250){bulletDir = 0;}
- if(path_position > 0.250 && path_position < 0.500){bulletDir = 1;}
- if(path_position > 0.500 && path_position < 0.750){bulletDir = 0;}
- if(path_position > 0.750 && path_position < 0.999){bulletDir = 1;}
- if(individualBulletCooldown <= 0 && bulletsCreated < 5){
- bulletsCreated += 1;
- individualBulletCooldown = maxIndividualBulletCooldown;
- if(bulletDir = 0){
- var myEnemy = instance_create_layer(x,y,layer,oEnemyArrow);
- myEnemy.direction = 90;
- var myEnemy = instance_create_layer(x,y,layer,oEnemyArrow);
- myEnemy.direction = 270;
- }
- if(bulletDir = 1){
- var myEnemy = instance_create_layer(x,y,layer,oEnemyArrow);
- myEnemy.direction = 180;
- var myEnemy = instance_create_layer(x,y,layer,oEnemyArrow);
- myEnemy.direction = 0;
- }
- }
- if(bulletsCreated >= 5){
- canCreateBullets = false;
- bulletsCreated = 0;
- bulletCreationCooldown = maxBulletCreationCooldown;
- }
- }
- randomEnemyCreationCooldown -= 1;
- if(randomEnemyCreationCooldown <= 0){
- randomEnemyCreationCooldown = maxRandomEnemyCreationCooldown;
- var myEnemy = instance_create_layer(irandom_range(95,1052),irandom_range(95,1052),layer,oEnemyWarning);
- myEnemy.enemyToCreate = choose(oEnemyWander,oEnemyWanderStraight,oEnemyFollowerOffset);
- }
- }
- else if(phase = 3){
- var i = 0;
- path_speed = 0;
- createEnemyCooldown -= 1;
- if(createEnemyCooldown <= 0){
- if(enemyType = 1){
- for(var i = 0; i < 6; i++){
- var myEnemy = instance_create_layer(x + lengthdir_x(120,60 * i),y + lengthdir_y(120,60 * i),layer,oEnemyWarning);
- myEnemy.enemyToCreate = oEnemyWander;
- }
- }
- else if(enemyType = 2){
- for(var i = 0; i < 15; i++){
- var myEnemy = instance_create_layer(x + lengthdir_x(120,24 * i),y + lengthdir_y(120,24 * i),layer,oEnemyWarning);
- myEnemy.enemyToCreate = oEnemy1;
- }
- }
- else if(enemyType = 3){
- for(var i = 0; i < 6; i++){
- var myEnemy = instance_create_layer(x + lengthdir_x(120,60 * i),y + lengthdir_y(120,60 * i),layer,oEnemyWarning);
- myEnemy.enemyToCreate = oEnemyWanderStraight;
- }
- }
- createEnemyCooldown = maxCreateEnemyCooldown;
- createEnemies = false;
- }
- bulletSpiralCooldown -= 1;
- if(bulletSpiralCooldown <= 0){
- maxBulletSpiralCooldown = bulletSpiralCooldown;
- dirAddition += 1;
- var myArrow = instance_create_layer(x,y,layer,oEnemyArrow);
- myArrow.direction = dir * dirAddition;
- }
- }
- else if(phase = 4){
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement