Advertisement
Guest User

boss code

a guest
Jun 16th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.  
  3. layer_x("Backgrounds_2",x);
  4. layer_y("Backgrounds_2",y);
  5.  
  6.  
  7.  
  8. scrGlowStep();
  9.  
  10.  
  11. if(phase != 4){
  12.     image_angle += 1;
  13. }
  14. else if(phase = 4){
  15.     image_angle += 0.5;
  16. }
  17.  
  18.  
  19. //phase transitions
  20. if(hp <= 0 && phase != 4){
  21.     hp = 100;
  22.     path_end();
  23.     phaseTransition = true;
  24.     global.seconds += 30;
  25. }
  26. else if(hp <= 0 && phase = 4){
  27.     global.bossdeath = true;
  28.     instance_destroy(pEnemy);
  29.  
  30. }
  31.  
  32. if(global.bossdeath = true){
  33.     speed = 0;
  34.     moveSpeed = 0;
  35.     //phase 1 vars
  36.     cooldownTillMove = 240;
  37.     maxCooldownTillMove = cooldownTillMove;
  38.     resetMove = true;
  39.     fireBullets = false;
  40.     bulletsCreated = 0;
  41.     maxBulletsCreated = 3;
  42.     bulletsCooldown = 10;
  43.  
  44.  
  45.  
  46.     //phase 2 vars
  47.     canCreateBullets = false;
  48.     bulletCreationCooldown = 160;
  49.     maxBulletCreationCooldown = bulletCreationCooldown;
  50.     bulletsCreated = 0;
  51.     individualBulletCooldown = 10;
  52.     maxIndividualBulletCooldown = individualBulletCooldown;
  53.     randomEnemyCreationCooldown = 150;
  54.     maxRandomEnemyCreationCooldown = randomEnemyCreationCooldown;
  55.  
  56.  
  57.     //phase 3 vars
  58.     bulletSpiralCooldown = 40;
  59.     maxBulletSpiralCooldown = bulletSpiralCooldown;
  60.     dir = 60;
  61.     dirAddition = 0;
  62.     maxAlarm0 = 240;
  63.     alarm[0] = maxAlarm0;
  64.     createEnemies = false;
  65.     enemyType = 0;
  66.     createEnemyCooldown = 30;
  67.     maxCreateEnemyCooldown = createEnemyCooldown;  
  68.     explosionCooldown -= 1;
  69.    
  70.     if(explosionCooldown <= 0){
  71.         amountOfExplosions += 0.2;
  72.         explosionCooldown = maxExplosionCooldown/amountOfExplosions;
  73.         audio_stop_sound(soBoss);
  74.         scrVibrate(0,0.3,0.3,10);
  75.         var sound = choose(soExplosion1,soExplosion2,soExplosion3,soExplosion4,soExplosion5,soExplosion6);
  76.         audio_sound_pitch(sound,random_range(0.7,1.3));
  77.         audio_play_sound(sound,80,false);
  78.        
  79.         image_angle = irandom_range(0,359);
  80.        
  81.         part_particles_create(sname1,irandom_range(x - 30,x + 30),irandom_range(y - 30,y + 30),particle1,amountOfExplosions * 5 + 10);
  82.         part_type_size(particle2,1,2.5,-0.06,1);
  83.         part_particles_create(sname2,x,y,particle2,30);
  84.        
  85.     }
  86.    
  87.     if(amountOfExplosions > 6.8){
  88.         instance_destroy();
  89.         part_type_size(particle1,3,4,0.001,0);
  90.         part_particles_create(sname1,x,y,particle1,100);
  91.         part_type_size(particle2,2,3,-0.06,1);
  92.         part_particles_create(sname2,x,y,particle2,60);
  93.         audio_play_sound(soBossDeath,80,false)
  94.     }
  95.    
  96. }
  97.  
  98.  
  99. else if(global.bossdeath = false){
  100.     if(phaseTransition = true){
  101.    
  102.         if(phase = 1){
  103.             if(point_distance(x,y,path_get_point_x(paBoss2Phase2,0),path_get_point_y(paBoss2Phase2,0)) >= 10){
  104.                 move_towards_point(path_get_point_x(paBoss2Phase2,0),path_get_point_y(paBoss2Phase2,0),speed); 
  105.                 speed = 6;
  106.             }
  107.             else if(point_distance(x,y,path_get_point_x(paBoss2Phase2,0),path_get_point_y(paBoss2Phase2,0)) <= 10){
  108.                 speed = 0;
  109.                 path_start(paBoss2Phase2,maxPathSpeed,path_action_restart,true);
  110.                 phase += 1;
  111.                 phaseTransition = false;
  112.             }
  113.         }
  114.        
  115.         if(phase = 2 && phaseTransition = true){
  116.             if(point_distance(x,y,room_width/2,room_height/2) > 10){
  117.                 speed = 6;
  118.                 move_towards_point(room_width/2,room_height/2,speed);  
  119.             }
  120.             else if(point_distance(x,y,room_width/2,room_height/2) <= 10){
  121.                 speed = 0;
  122.                 phase += 1;
  123.                 phaseTransition = false;
  124.             }
  125.         }
  126.    
  127.         if(phase = 3 && phaseTransition = true){
  128.            
  129.         }
  130.     }
  131.    
  132.     if(phaseTransition = false){
  133.         if(phase = 1){
  134.             //movement
  135.             cooldownTillMove -= 1;
  136.        
  137.             if(cooldownTillMove = 0 && resetMove = true){
  138.                 path_speed = 0;
  139.                 fireBullets = true;
  140.                 resetMove = false;
  141.             }
  142.        
  143.        
  144.             if(fireBullets = true && resetMove = false){
  145.                 bulletsCooldown -= 1;
  146.                 if(bulletsCooldown <= 0 && bulletsCreated < maxBulletsCreated){
  147.                     for(var i = 0; i < 6; i++){
  148.                         var myEnemy = instance_create_layer(x + lengthdir_x(120,60 * i),y + lengthdir_y(120,60 * i),layer,oEnemyWarning);
  149.                             myEnemy.enemyToCreate = oEnemyArrow;
  150.                             myEnemy.arrowDirection = 60*i;
  151.                     }
  152.                     bulletsCooldown = 10;
  153.                     bulletsCreated += 1;
  154.                 }
  155.                 if(bulletsCreated = maxBulletsCreated){
  156.                     cooldownTillMove = maxCooldownTillMove;
  157.                     fireBullets = false;
  158.                     resetMove = true;
  159.                     bulletsCreated = 0;
  160.                     bulletsCooldown = 10;
  161.                     path_speed = maxPathSpeed;
  162.                 }
  163.             }
  164.  
  165.         }
  166.    
  167.         else if(phase = 2){
  168.             var bulletDir;
  169.             bulletCreationCooldown -= 1;
  170.            
  171.            
  172.             if(bulletCreationCooldown = 0){
  173.                 canCreateBullets = true;
  174.             }
  175.            
  176.             if(canCreateBullets = true){
  177.                 individualBulletCooldown -= 1;
  178.                 if(path_position >= 0 && path_position < 0.250){bulletDir = 0;}
  179.                 if(path_position > 0.250 && path_position < 0.500){bulletDir = 1;}
  180.                 if(path_position > 0.500 && path_position < 0.750){bulletDir = 0;}
  181.                 if(path_position > 0.750 && path_position < 0.999){bulletDir = 1;}
  182.                 if(individualBulletCooldown <= 0 && bulletsCreated < 5){
  183.                     bulletsCreated += 1;
  184.                     individualBulletCooldown = maxIndividualBulletCooldown;
  185.                     if(bulletDir = 0){
  186.                         var myEnemy = instance_create_layer(x,y,layer,oEnemyArrow);
  187.                         myEnemy.direction = 90;
  188.                         var myEnemy = instance_create_layer(x,y,layer,oEnemyArrow);
  189.                         myEnemy.direction = 270;
  190.                     }
  191.                     if(bulletDir = 1){
  192.                         var myEnemy = instance_create_layer(x,y,layer,oEnemyArrow);
  193.                         myEnemy.direction = 180;
  194.                         var myEnemy = instance_create_layer(x,y,layer,oEnemyArrow);
  195.                         myEnemy.direction = 0;
  196.                     }
  197.                 }
  198.                
  199.                 if(bulletsCreated >= 5){
  200.                     canCreateBullets = false;
  201.                     bulletsCreated = 0;
  202.                     bulletCreationCooldown = maxBulletCreationCooldown;
  203.                 }              
  204.             }
  205.        
  206.             randomEnemyCreationCooldown -= 1;
  207.             if(randomEnemyCreationCooldown <= 0){
  208.                 randomEnemyCreationCooldown = maxRandomEnemyCreationCooldown;
  209.                 var myEnemy = instance_create_layer(irandom_range(95,1052),irandom_range(95,1052),layer,oEnemyWarning);
  210.                     myEnemy.enemyToCreate = choose(oEnemyWander,oEnemyWanderStraight,oEnemyFollowerOffset);
  211.             }
  212.         }
  213.    
  214.         else if(phase = 3){
  215.             var i = 0;
  216.             path_speed = 0;
  217.             createEnemyCooldown -= 1;
  218.             if(createEnemyCooldown <= 0){
  219.        
  220.                 if(enemyType = 1){
  221.                     for(var i = 0; i < 6; i++){
  222.                         var myEnemy = instance_create_layer(x + lengthdir_x(120,60 * i),y + lengthdir_y(120,60 * i),layer,oEnemyWarning);
  223.                             myEnemy.enemyToCreate = oEnemyWander;
  224.                     }
  225.                 }
  226.                 else if(enemyType = 2){
  227.                     for(var i = 0; i < 15; i++){
  228.                         var myEnemy = instance_create_layer(x + lengthdir_x(120,24 * i),y + lengthdir_y(120,24 * i),layer,oEnemyWarning);
  229.                             myEnemy.enemyToCreate = oEnemy1;
  230.                     }
  231.                 }
  232.        
  233.                 else if(enemyType = 3){
  234.                     for(var i = 0; i < 6; i++){
  235.                         var myEnemy = instance_create_layer(x + lengthdir_x(120,60 * i),y + lengthdir_y(120,60 * i),layer,oEnemyWarning);
  236.                             myEnemy.enemyToCreate = oEnemyWanderStraight;
  237.                     }
  238.                 }
  239.                 createEnemyCooldown = maxCreateEnemyCooldown;
  240.                 createEnemies = false;
  241.             }
  242.    
  243.             bulletSpiralCooldown -= 1;
  244.        
  245.             if(bulletSpiralCooldown <= 0){
  246.                 maxBulletSpiralCooldown = bulletSpiralCooldown;
  247.                 dirAddition += 1;
  248.                 var myArrow = instance_create_layer(x,y,layer,oEnemyArrow);
  249.                     myArrow.direction = dir * dirAddition;
  250.             }
  251.         }
  252.    
  253.         else if(phase = 4){
  254.        
  255.         }  
  256.     }
  257.    
  258.    
  259.    
  260. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement