#e[Stage]
#Title[nETvXe[W]
#Text[ver1.5]
#BackGround[User()]
#Player[FREE]
#ScriptVersion[2]

script_stage_main
{
	let cx=GetCenterX();
	let cy=GetCenterY();
	let AC=0;
	let ac=0;
	let acc=4;
	let count=0;
	let BGstep=0;
	let Yspeed=0;
	let Yspeed2=0;
	let cx=GetCenterX();
	let dot=GetCurrentScriptDirectory~"img\dot-kaze-ti.png";
	let dot2=GetCurrentScriptDirectory~"img\dot-kaze-ti2.png";
	let BGG00=0;
	let BGG01=0;
	let BGG02=0;
	let BGG03=0;
	let move_bg_img_y = 0;
	let imgNu =GetCurrentScriptDirectory~"effect\NuclearSpark.png";
	let imgNuR=GetCurrentScriptDirectory~"effect\NuclearRing3.png";
	let imgNuc=GetCurrentScriptDirectory~"effect\NuclearWave2.png";
	let imgNu5=GetCurrentScriptDirectory~"effect\NuclearRing4.png";
	CompileEnemyFromFile(GetCurrentScriptDirectory~"Enemy01.txt");
	CompileEnemyFromFile(GetCurrentScriptDirectory~"Enemy02.txt");
	CompileEnemyFromFile(GetCurrentScriptDirectory~"Enemy03.txt");
	CompileEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt");
	CompileEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt");
	CompileEnemyFromFile(GetCurrentScriptDirectory~"Nuclear.txt");
	task StageTask
	{
		function Wait(let frame) {
			loop(frame) {
				yield
			};
		}
		function WaitForZeroEnemy() {
			while (GetEnemyNum() != 0) {
				yield;
			}
		}
		task iwa(let x){CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy01.txt",x,-16,1.2,90,0);
		loop(5) {
			Wait(25);
			CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy01.txt",x+rand(-130,-80),-16,2.5+rand(0,0.5),90+rand(-21,-5),2);
			Wait(25);
			CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy01.txt",x+rand(80,130),-16,2.5+rand(0,0.5),90+rand(5,21),2);
		}}
		task iwa2(let x){
		loop(15) {
			Wait(5);
			CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy01.txt",x+rand(-250,-80),-16,2.1+rand(0,0.5),90+rand(-21,-5),2);
			Wait(5);
			CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy01.txt",x+rand(80,250),-16,2.1+rand(0,0.5),90+rand(5,21),2);
		}}
		task iwa3(let x){
		loop(15) {
			Wait(5);
			CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy01.txt",x+rand(-250,-80),-16,2.1+rand(0,0.5),90+rand(-21,-5),1);
			Wait(5);
			CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy01.txt",x+rand(80,250),-16,2.1+rand(0,0.5),90+rand(5,21),1);
		}}
		task iwa4(let x){
		loop(15) {
			Wait(5);
			CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy01.txt",x+rand(-250,-80),-16,2.1+rand(0,0.5),90+rand(-41,-25),2);
			Wait(5);
			CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy01.txt",x+rand(80,250),-16,2.1+rand(0,0.5),90+rand(25,41),2);
		}}
		Wait(10);
		PlayMusic(GetCurrentScriptDirectory~"\bgm\bgm1.mp3");
		Wait(120);BGstep=1;Yspeed2=2;
		Wait(10);

		WaitForZeroEnemy();

		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-100,-70,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+100,-70,0,0,1);
		Wait(20);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx,-30,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx,-70,0,0,0);
		WaitForZeroEnemy();Yspeed2=4;
		BGstep=2;
		Wait(120);iwa(cx);
		Wait(120);iwa(cx+55);
		Wait(20);iwa(cx-55);
		Wait(200);
		loop(3) {
			Wait(50);
			CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx+rand(40,160),-30+rand(-20,70),0,0,2);
		}
		Wait(50);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx-rand(100,180),-80+rand(-20,80),0,0,4);
		Wait(35);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx-rand(100,180),-80+rand(-20,80),0,0,4);
		Wait(35);
		loop(3) {
			Wait(50);
			CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx-rand(40,160),-30+rand(-20,70),0,0,2);
		}
		Wait(50);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx+rand(100,180),-80+rand(-20,80),0,0,4);
		Wait(35);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx+rand(100,180),-80+rand(-20,80),0,0,4);

		Wait(50);
		loop(5) {
			Wait(30);
			CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx-rand(-40,40),-30+rand(-20,70),0,0,2);
		}
		Wait(240);
		BGstep=1;Yspeed=-6;Yspeed2=-8;
		Wait(80);iwa(cx);
		Wait(80);iwa(cx-55);
		Wait(80);iwa(cx+55);
		Wait(80);iwa(cx-111);
		Wait(80);iwa(cx+111);
		Wait(150);iwa(cx+86);
		Wait(15);iwa(cx+32);
		Wait(15);iwa(cx-32);
		Wait(15);iwa(cx-86);Yspeed2=8;
		Wait(300);iwa2(cx);
		Wait(40);iwa(cx);
		Wait(40);iwa(cx);
		Wait(40);iwa(cx);
		Wait(180);iwa3(cx);
		Wait(200);iwa(cx);
		Wait(20);iwa4(cx);
		Wait(20);iwa4(cx);
		Wait(20);iwa(cx);
		Yspeed2=6;
		Wait(255);

		loop(5) {
			Wait(10);
			CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy03.txt",cx+rand(240,280),50+rand(-10,120),0,0,0);
			Wait(10);
			CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy03.txt",cx-rand(240,280),50+rand(-10,120),0,0,1);
		}

		BGstep=2;

		loop(10) {
			Wait(10);
			CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy03.txt",cx+rand(240,280),50+rand(-10,120),0,0,0);
			Wait(10);
			CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy03.txt",cx-rand(240,280),50+rand(-10,120),0,0,1);
		}

		WaitForZeroEnemy();
		BGstep=1;Yspeed2=1;

		Wait(180);
		CreateEnemyBossFromFile(GetCurrentScriptDirectory~"Utuho.txt",cx,-45,0,0,0);
		WaitForZeroEnemy();

		Wait(180);Yspeed2=6;
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+55,-110,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-55,-110,0,0,1);
		Wait(80);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx+122,-20,0,0,0);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx-122,-20,0,0,0);
		Wait(80);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx+122,-20,0,0,0);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx-122,-20,0,0,0);
		Wait(80);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx+122,-20,0,0,0);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx-122,-20,0,0,0);
		Wait(80);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+55,-100,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-55,-100,0,0,1);
		BGstep=2;
		Wait(80);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx+122,-20,0,0,0);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx-122,-20,0,0,0);
		Wait(80);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx+122,-20,0,0,0);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx-122,-20,0,0,0);
		Wait(80);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx+122,-20,0,0,0);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx-122,-20,0,0,0);
		Wait(80);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+55,-90,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-55,-90,0,0,1);

		Wait(280);
		BGstep=1;

		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+50,-30,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-50,-30,0,0,1);
		Wait(20);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-100,-70,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+100,-70,0,0,1);
		Wait(20);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx,-70,0,0,0);
		WaitForZeroEnemy();

		Wait(180);
		CreateEnemyBossFromFile(GetCurrentScriptDirectory~"Kisume.txt",cx,-20,0,0,0);
		WaitForZeroEnemy();

		Wait(300);iwa2(cx);
		Wait(40);iwa(cx+122);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx-rand(40,160),-30+rand(-20,70),0,0,2);
		Wait(40);iwa(cx-52);
		Wait(40);iwa(cx+33);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx+rand(40,160),-30+rand(-20,70),0,0,2);
		Wait(20);iwa4(cx);
		Wait(20);iwa4(cx);
		Wait(40);iwa(cx-122);
		Wait(40);iwa(cx);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx+rand(40,60),-30+rand(-20,70),0,0,2);
		Wait(180);iwa3(cx);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx-rand(40,60),-30+rand(-20,70),0,0,2);
		Wait(200);iwa(cx);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx-rand(40,160),-30+rand(-20,70),0,0,2);
		Wait(20);iwa4(cx);
		Wait(20);iwa4(cx);
		Wait(20);iwa(cx+55);
		Wait(20);iwa(cx-55);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy05.txt",cx+rand(40,160),-30+rand(-20,70),0,0,2);

		Wait(20);iwa4(cx);
		Wait(20);iwa4(cx);
		Wait(20);iwa(cx);
		Wait(220);iwa4(cx+122);
		Wait(20);iwa4(cx-122);
		Wait(180);
		Yspeed2=8;
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+30,-30,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-30,-30,0,0,1);
		Wait(20);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-100,-70,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+100,-70,0,0,1);
		Wait(20);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+50,-70,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-50,-70,0,0,1);
		Wait(20);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-70,-110,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+70,-110,0,0,1);
		Wait(20);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx,-90,0,0,0);
		WaitForZeroEnemy();
		Wait(120);Yspeed2=2;
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-130,-30,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+130,-30,0,0,1);
		Wait(5);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-80,-30,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+80,-30,0,0,1);
		Wait(5);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-30,-30,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+30,-30,0,0,1);
		Wait(42);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+130,-80,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-130,-80,0,0,1);
		Wait(5);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+80,-80,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-80,-80,0,0,1);
		Wait(5);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+30,-80,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-30,-80,0,0,1);
		Wait(42);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-130,-130,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+130,-130,0,0,1);
		Wait(5);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-80,-130,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+80,-130,0,0,1);
		Wait(5);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx-30,-130,0,0,1);
		CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy04.txt",cx+30,-130,0,0,1);
		WaitForZeroEnemy();

		Wait(180);

		CreateEnemyFromFile(GetCurrentScriptDirectory~"HinaEvent.txt",0,0,0,0,0);
		WaitForZeroEnemy();

		CreateEnemyBossFromFile(GetCurrentScriptDirectory~"HinaP.txt",cx,145,0,0,0);
		WaitForZeroEnemy();Yspeed2=-8;

		Wait(120);
		loop(15) {
			Wait(10);
			CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy03.txt",cx+rand(240,280),50+rand(-10,120),0,0,2);
			Wait(10);
			CreateEnemyFromFile(GetCurrentScriptDirectory~"Enemy03.txt",cx-rand(240,280),50+rand(-10,120),0,0,3);
		}
		WaitForZeroEnemy();

		Wait(120);
		CreateEnemyBossFromFile(GetCurrentScriptDirectory~"UtuhoP2.txt",cx,-45,0,0,0);
		Wait(120);
		WaitForZeroEnemy();
		Wait(360);
		Clear();//Xe[WNA
	}

	@Initialize()
	{
		LoadSE(GetCurrentScriptDirectory~"\se\Shot00.wav");
		LoadSE(GetCurrentScriptDirectory~"\se\Shot01.wav");
		LoadSE(GetCurrentScriptDirectory~"\se\Laser.wav");
		LoadSE(GetCurrentScriptDirectory~"\se\push.wav");
		LoadSE(GetCurrentScriptDirectory~"\se\push02.wav");
		LoadSE(GetCurrentScriptDirectory~"\se\Baaaaaaaan.wav");
		LoadSE(GetCurrentScriptDirectory~"\se\Baaan.wav");
		LoadGraphic(dot);
		LoadGraphic(dot2);
		LoadGraphic(GetCurrentScriptDirectory~"\img\st01.png");
		LoadGraphic(GetCurrentScriptDirectory~"\img\st02.png");
		LoadGraphic(GetCurrentScriptDirectory~"\img\st03.png");
		LoadGraphic(GetCurrentScriptDirectory~"img\ExUtuho.png");
		LoadGraphic(imgNu);
		LoadGraphic(imgNuR);
		LoadGraphic(imgNuc);
		ExpertEx(true,3,3);
		SetShotAutoDeleteClip(32,32,32,32);
		SetNormPoint(-1);
		StageTask();
	}

	@MainLoop()
	{
		if (BGstep==1) {
			if (BGG01<185) {
				BGG01+=1;
			}
		}
		if (BGstep==2) {
			if (BGG01>0) {
				BGG01-=1;
			}
		}
		if (BGstep==3) {
			if (BGG00<128) {
				BGG00+=1;
			}if (BGG01>0) {
				BGG01-=1;
			}
		}
		if (BGstep==4) {
			if (BGG02<128) {
				BGG02+=1;
			}if (BGG01>0) {
				BGG01-=1;
			}
		}
		if (BGstep==5) {
			if (BGG00>0) {
				BGG01-=2;
			}if (BGG01>0) {
				BGG01-=2;
			}if (BGG02>0) {
				BGG02-=2;
			}
		}
		if (BGstep==6) {
			if (BGG03<255) {
				BGG03+=1;
			}
		}
		if (Yspeed2>Yspeed) {
			Yspeed+=0.01;
		}if (Yspeed2<Yspeed) {
			Yspeed-=0.01;
		}
		acc=Yspeed;
		ac+=acc;
		ac=ac%(488*3);
		count++;
		yield;
	}

	@Finalize()
	{
		DeleteSE(GetCurrentScriptDirectory~"\se\Shot00.wav");
		DeleteSE(GetCurrentScriptDirectory~"\se\Shot01.wav");
		DeleteSE(GetCurrentScriptDirectory~"\se\Laser.wav");
		DeleteSE(GetCurrentScriptDirectory~"\se\push.wav");
		DeleteSE(GetCurrentScriptDirectory~"\se\push02.wav");
		DeleteSE(GetCurrentScriptDirectory~"\se\Baaaaaaaan.wav");
		DeleteSE(GetCurrentScriptDirectory~"\se\Baaan.wav");
		DeleteGraphic(dot);
		DeleteGraphic(dot2);
		DeleteGraphic(GetCurrentScriptDirectory~"\img\st00.png");
		DeleteGraphic(GetCurrentScriptDirectory~"\img\st01.png");
		DeleteGraphic(imgNu);
		DeleteGraphic(imgNuR);
		DeleteGraphic(imgNuc);
		DeleteGraphic(imgNu5);
	}

	@DrawBottomObject() {
		if (BGG00>0) {
			SetTexture(GetCurrentScriptDirectory~"\img\st01.png");
			SetGraphicRect(0,0,384,488);
			SetGraphicScale(1.3+0.2*sin(count/2),1.3+0.2*sin(count/2));
			SetAlpha(255);
			SetColor(BGG00,BGG00,BGG00);
			SetRenderState(ADD);
			DrawGraphic(cx,cy);
		}
		if (BGG01>0) {
			SetTexture(GetCurrentScriptDirectory~"\img\st01.png");
			SetGraphicScale(1,1);
			SetGraphicRect(0,0,384,488);
			SetAlpha(255);
			SetColor(BGG01,BGG01,BGG01);
			SetRenderState(ADD);
			DrawGraphic(cx,cy+ac%488+488);
			DrawGraphic(cx,cy+ac%488);
			DrawGraphic(cx,cy+ac%488-488);
		}
		if (BGG02>0) {
			SetTexture(GetCurrentScriptDirectory~"\img\st02.png");
			SetGraphicScale(1,1);
			SetGraphicRect(0,0,384,448);
			SetAlpha(255);
			SetColor(BGG02*(0.5+0.4*sin(count/2)),BGG02*(0.5+0.4*sin(count/2)),BGG02*(0.5+0.4*sin(count/2)));
			SetRenderState(ADD);
			DrawGraphic(cx,cy);
		}
		if (BGG03>0) {
			SetTexture(GetCurrentScriptDirectory~"\img\st03.png");
			SetGraphicRect(0,0,384,488);
			SetGraphicScale(1,1);
			SetAlpha(255);
			SetColor(BGG03,BGG03,BGG03);
			SetRenderState(ADD);
			DrawGraphic(cx,cy);
		}
	}
}
