#e
#Title[ߋ_(JNV)]
#Text[Fusou]
#Image[.\..\img\Select\Select04.png]
#Player[FREE]
#ScriptVersion[2]
#BackGround[User(.\..\BG\Map1\O6.png,1,-2)]

script_enemy_main {
	let csd = GetCurrentScriptDirectory;
	let Img = [
		csd~"..\img\Fusou.png",
		csd~"..\img\System.png",
		];
	let count = 0;
	let Moct = 0;
	let nx=102;
	let ny=100;
	
	@Initialize{
		SetX(GetCenterX);
		SetY(GetCenterY-120);
		
		SetLife(5000);
		SetDamageRate(100,100);
		SetTimer(90);
		SetScore(3500);
		
		LoadData;
		ShotData;
		PlayMusic(BGM[2]);
	}
	
	@MainLoop {
		SetCollisionA(GetX,GetY,20);
		SetCollisionB(GetX,GetY,20);
		MagicCircle(false);
		
		alternative(GetTimer)
		case(21,64){Concentration01(40);}
		
		if(GetTimer>65){
			if(GetPlayerY>GetY+50){
				if(count%60==0){
					ShotC(3,90);
					ShotE(3,6,90,0);
				}
				MoveA;
			}
			else{
				if(count%100==0){
					if(GetPlayerX<GetX){
					ShotA(300,-2,-1);
					}
					else if(GetPlayerX>GetX){
					ShotA(240,2,1);
					}
				}
				MoveB(150);
			}
		}
		else if(GetTimer>22&&GetTimer<63){
			if(GetPlayerY>GetY+50){
				if(count%40==0){
					ShotC(2,GetAngleToPlayer+rand(-10,10));
					ShotE(5,4,90+rand(-10,10),50);
				}
			MoveA;
			}
			else{
				if(count%40==0&&Moct>200){
					ShotB(-40,10,135,9);
					ShotB(-10,-40,270,-7);
					ShotB(10,-40,270,7);
					ShotB(40,10,45,-9);
					ShotD(8);
					ShotD(-8);
				}
				MoveB(rand(-80,80));
			}
		}
		else if(GetTimer<20){
			if(count%20==0){
				ShotB(-40,10,135,7);
				ShotB(-10,-40,270,-9);
				ShotB(10,-40,270,9);
				ShotB(40,10,45,-7);
				ShotC(1,GetAngleToPlayer+rand(-15,15));
				ShotD(8);
				ShotD(-8);
			}
			SetMovePosition03(224,100,15,9);
		}
		if(Moct==400){Moct=0;}

		count++;Moct++;
		yield;
	}
	
	@DrawLoop {
		if(GetPlayerY<GetY+50){
			if(Moct<200){BossImg(x[1],y[0],x[2],y[1]);}
			else{BossImg(x[1],y[1],x[2],y[2]);}
		}
		else if(int((GetSpeedX)||(GetSpeedY))==0){
			if(GetTimer>63){BossImg(x[0],y[0],x[1],y[1]);}
			else{BossImg(x[0],y[1],x[1],y[2]);}
		}
		else if(GetSpeedX<0){BossImg(x[2],y[0],x[3],y[1]);}
		else if(GetSpeedX>0){BossImg(x[2],y[1],x[3],y[2]);}
		LifeDraw(5000);
		yield;
	}
	
	@Finalize {
		DeleteData;
	}
	task ShotA(AgA,AgS,AgP){//35.6cmACA//[U[1
		CreateLaserB(1,20,20,BLUE01,10);
		SetLaserDataB(1,0,5,40,0,AgA,AgS,AgA,AgP);
		SetLaserDataB(1,200,0,NULL,NULL,0,0,0,0);
		FireShot(1);
	}
	task ShotB(LX,LY,Lag,AgS){//35.6cmACB//[U[2
		CreateLaserC(2,GetX+LX,GetY+LY,20,20,PURPLE01,0);
		SetLaserDataC(2,0,7,Lag,AgS,0.5,7);
		SetLaserDataC(2,50,NULL,NULL,0,0,0);
		SetLaserDataC(2,70,NULL,NULL,AgS,0.5,7);
		SetLaserDataC(2,120,NULL,NULL,0,0,0);
		FireShot(2);
	}
	task ShotC(Loop,Angle){//15.2cmPC
		let Speed=3;
			loop(Loop){
				CreateShot01(GetX,GetY,Speed,Angle,24,0);
				CreateShot01(GetX+12,GetY-5,Speed,Angle-45,14,0);
				CreateShot01(GetX-12,GetY-5,Speed,Angle+45,14,0);
			Speed+= 1.5;
			}
		}
	task ShotD(Ag){//d
			CreateShotA(3,GetX,GetY-40,4);
			SetShotDataA(3, 0,6,270,Ag,1,7,3);
			SetShotDataA(3,30,4,GetAngleToPlayer,0,0,0,3);
			SetShotDataA(3,60,10,GetAngleToPlayer,0,0,0,3);
			FireShot(3);
		}
	task ShotE(Loop,Speed,Angle,Clip){//BVD
		let Vx =GetCenterX+rand(-150,150);
		let Vy =GetClipMinY+Clip;
		let sg = 0;
			loop(Loop){
				CreateShot01(Vx+sg,Vy-sg,Speed,Angle,6,5);
				CreateShot01(Vx-sg,Vy-sg,Speed,Angle,6,5);
				sg+=30;
			}
		}
	task MoveA{//224,140
		alternative(Moct)
		case(100){SetMovePosition03( 80,190,15,4);}
		case(200){SetMovePosition03(350,240,15,4);}
		case(300){SetMovePosition03(300, 90,15,4);}
		yield;	
	}
	task MoveB(Lh){
		alternative(Moct)
		case(50,150,250,350){SetMovePosition03(GetPlayerX,GetPlayerY+Lh,15,4);}
		yield;
	}
#include_function ".\..\txt\ImageObj.txt"
#include_function ".\..\txt\LoadData.txt"
#include_function ".\..\txt\System.txt"
#include_function ".\..\txt\MusicData.txt"
}