function Stage4{
   if(phase==0){
      SetCommonData("bgx",0);
      SetCommonData("bgy",0);
      PlayMusic( bgmst4 );
      phase=1;
      time=0;
   }
   if(phase==1){
      if(time==100){Tzakoheli1(1,-1,10,9,3);}
      if(time==140){Tzakoheli1(1,+0,10,9,3);}
      if(time==180){Tzakoheli1(1,+1,10,9,3);}

      if(time==250){Tzakoheli3(224-70, 0, 90, 12, 4, 0);}
   	
      if(time==320){Tzakoheli3(224+140, 0, 120, 12, 6, 0);}
      if(time==250){CreateEnemyFromFile( senkan1, 224+50, 500, 0, 90, 1);}
      if(time==470){Tzakoheli3(224-260, 180, 0, 22, 6, 0);}
   	
      if(time==770){Tzakoheli3(224-140, 0, 60, 12, 7, 0);}
      if(time==700){CreateEnemyFromFile( senkan1, 224-50, 950, 0, 90, 1);}
      if(time==920){Tzakoheli3(224+260, 180, 180, 22, 8, 0);}
      if(time==1260){CreateEnemyFromFile( item, 224, 0, 2, 90, 0);}

      if(time==1340){Tzakoair2a(1,10,5,0);}
      if(time==1420){Tzakoair2a(-1,10,5,0);}
      if(time==1470){Tzakoair2a(0,10,7,0);}
      if(time==1550){Tzakoair2a(1,10,8,0);}
   	
      if(time==1400){CreateEnemyFromFile( senkan2, 224+520, 1400, 0, 90, 1);}
      if(time==1400){CreateEnemyFromFile( izumi, 224+520, 1400, 0, 0, 1);}
   	
      if(time==1950){Tzakoair2a(1,18,25,0);}
      if(time==1956){Tzakoair2a(-1,18,25,0);}
      if(time==1962){Tzakoair2a(0,18,25,0);}
   	
      if(time==2300){CreateEnemyFromFile( item, 224, 0, 2, 90, 0);}
   	if(time==2440){Tzakoheli3(224+90, 0, 90, 12, 4, 0);}
   	if(time==2460){Tzakoheli3(224-0, 0, 90, 12, 4, 0);}
   	if(time==2480){Tzakoheli3(224-90, 0, 90, 12, 4, 0);}
   	
      if(time==2400){CreateEnemyFromFile( senkan2, 224+640, 870, 0, 90, 1);}
      if(time==2400){CreateEnemyFromFile( izumi, 224+640, 870, 0, 0, 1);}
      if(time==2800){Tzakoair2a(1,10,5,0);}
      if(time==2880){Tzakoair2a(-1,10,5,0);}
      if(time==2700){CreateEnemyFromFile( senkan2, 224+240, 820, 0, 90, 1);}
      if(time==2700){CreateEnemyFromFile( izumi, 224+240, 820, 0, 0, 1);}
      if(time==3100){Tzakoheli3(224-140, 0, 60, 12, 7, 0);}
   	
      if(time==3020){CreateEnemyFromFile( senkan1, 224, 1150, 0, 90, 1);}
      if(time==3320){Tzakoheli3(224+260, 180, 180, 12, 4, 0);}
      if(time==3460){Tzakoheli3(224-260, 180, 0, 12, 4, 0);}
   	
   	if(time==3460){CreateEnemyFromFile( st4semiboss, 224, -150, 0, 0, 0);}
   	
   	if(time==4740){Tzakoair2b(1,21,46,0);}
      if(time==4747){Tzakoair2b(-1,21,46,0);}
      if(time==4754){Tzakoair2b(0,21,46,0);}
      if(time==5700){CreateEnemyFromFile( item, 224, 0, 2, 90, 0);}
   	
      if(time<=1300){SetCommonData("bgy",time*1);}
      if(time>1300&&time<=3460){//2160
      	let r=(time-1300)/6;
      	SetCommonData("bgx",cos(r+180)*500+500);
      	SetCommonData("bgy",1300+sin(r)*300);
      }
      if(time>3460&&time<=4900){//
      	let r=(time-3460)/4;
      	SetCommonData("bgx",cos(r)*450-450);
      	SetCommonData("bgy",1300+sin(r)*300);
      }
      if(time>4900&&time<=5800){SetCommonData("bgy",1300+(time-4900)*1.5);}
      if(time==5800){phase=2;time=0;}

   }
   if(phase==2){
   	
      if(time==30){CreateEnemyFromFile( air5, 224+100, 150, 0, 90, 0);}
      if(time==50){CreateEnemyFromFile( air5, 224-0, 100, 0, 90, 0);}
      if(time==70){CreateEnemyFromFile( air5, 224-100, 150, 0, 90, 0);}
   	
      if(time==230){Tzakoair2a(1,18,7,0);}
      if(time==236){Tzakoair2a(-1,18,7,0);}
      if(time==242){Tzakoair2a(0,18,7,0);}

      if(time==330){CreateEnemyFromFile( air5, 224-120, 100, 0, 90, 0);}
      if(time==350){CreateEnemyFromFile( air5, 224-40, 150, 0, 90, 0);}
      if(time==370){CreateEnemyFromFile( air5, 224+40, 150, 0, 90, 0);}
      if(time==390){CreateEnemyFromFile( air5, 224+120, 100, 0, 90, 0);}

      if(time==300){CreateEnemyFromFile( senkan3, 224-50, 2950, 0, 90, 1);}
      if(time==300){CreateEnemyFromFile( izumi, 224-50, 2950, 0, 0, 1);}
      if(time==600){CreateEnemyFromFile( air5, 224+20, 200, 0, 90, 0);}
      if(time==650){CreateEnemyFromFile( air5, 224+100, 170, 0, 90, 0);}
      if(time==700){CreateEnemyFromFile( air5, 224+60, 140, 0, 90, 0);}
      if(time==750){CreateEnemyFromFile( air5, 224+140, 110, 0, 90, 0);}
      if(time==800){CreateEnemyFromFile( air5, 224-120, 80, 0, 90, 0);}
   	
      if(time==700){CreateEnemyFromFile( senkan3, 224+50, 3190, 0, 90, 1);}
      if(time==700){CreateEnemyFromFile( izumi, 224+50, 3190, 0, 0, 1);}
      if(time==1000){CreateEnemyFromFile( air5, 224-20, 200, 0, 90, 0);}
      if(time==1050){CreateEnemyFromFile( air5, 224-100, 170, 0, 90, 0);}
      if(time==1100){CreateEnemyFromFile( air5, 224-60, 140, 0, 90, 0);}
      if(time==1150){CreateEnemyFromFile( air5, 224-140, 110, 0, 90, 0);}
      if(time==1200){CreateEnemyFromFile( air5, 224+120, 80, 0, 90, 0);}
   	
      if(time==1100){CreateEnemyFromFile( senkan3, 224-50, 3430, 0, 90, 1);}
      if(time==1100){CreateEnemyFromFile( izumi, 224-50, 3430, 0, 0, 1);}
      if(time==1400){CreateEnemyFromFile( air5, 224+20, 200, 0, 90, 0);}
      if(time==1450){CreateEnemyFromFile( air5, 224+100, 170, 0, 90, 0);}
      if(time==1500){CreateEnemyFromFile( air5, 224+60, 140, 0, 90, 0);}
      if(time==1550){CreateEnemyFromFile( air5, 224+140, 110, 0, 90, 0);}
   	
      if(time==1500){CreateEnemyFromFile( senkan3, 224+50, 3670, 0, 90, 1);}
      if(time==1500){CreateEnemyFromFile( izumi, 224+50, 3670, 0, 0, 1);}
      if(time==1800){CreateEnemyFromFile( air5, 224-20, 200, 0, 90, 0);}
      if(time==1850){CreateEnemyFromFile( air5, 224-100, 170, 0, 90, 0);}
      if(time==1900){CreateEnemyFromFile( air5, 224-60, 140, 0, 90, 0);}
      if(time==1950){CreateEnemyFromFile( air5, 224-140, 110, 0, 90, 0);}

      if(time==2230){CreateEnemyFromFile( air5, 224-110, 170, 0, 90, 0);}
      if(time==2250){CreateEnemyFromFile( air5, 224-35, 130, 0, 90, 0);}
      if(time==2270){CreateEnemyFromFile( air5, 224+35, 130, 0, 90, 0);}
      if(time==2290){CreateEnemyFromFile( air5, 224+110, 170, 0, 90, 0);}
   	
      if(time==2310){CreateEnemyFromFile( air5, 224+140, 120, 0, 90, 0);}
      if(time==2330){CreateEnemyFromFile( air5, 224+70, 80, 0, 90, 0);}
      if(time==2350){CreateEnemyFromFile( air5, 224+0, 120, 0, 90, 0);}
      if(time==2370){CreateEnemyFromFile( air5, 224-70, 80, 0, 90, 0);}
      if(time==2390){CreateEnemyFromFile( air5, 224-140, 120, 0, 90, 0);}
      if(time==2500){CreateEnemyFromFile( item, 224, 0, 2, 90, 0);}

      if(time==2900){CreateEnemyBossFromFile( st4boss, 224, -150, 0, 0, 0);}
   	
      if(time==2700){DeleteMusic(bgmst3);PlaySE( se4 );}
      if(time==2900){PlayMusic(bgmboss);}

      if(time<5000){SetCommonData("bgx",0);}
   	
      if(time<2900){SetCommonData("bgy",2650+time*0.6);}//1320
      else if(time<3000){SetCommonData("bgy",4390+(time-2900)*1.2);}
      else if(time<3100){SetCommonData("bgy",4510+(time-3000)*2);}
      else if(time>=3100){SetCommonData("bgy",4710+((time-3100)*4)%360);}


      if(time>4000&&GetCommonData("bossphase")==0){DeleteMusic(bgmboss);}
      if(time>4000&&IsBossExisting==false&&clear==false){Tclear3}
   }
}