#e
#Title[֊uX^[{EuCNv]
#ScriptVersion[2]
#Player[FREE]
#Text[]
#BackGround[User(.\back.png,0,0)]

script_enemy_main
{
let GC=GetCurrentScriptDirectory;
@Initialize
{
LoadGraphic(GC~".\main.png");
SetTexture(GC~".\main.png");
SetGraphicRect(0,0,32,40);
PlayMusic("bgm\fran");
LoadUserShotData(GC~".\burret01.txt");
SetDamageRate(10,10);
SetLife(3000);
SetTimer(66);
CutIn(YOUMU,"֊uX^[{EuCNv",GC~".\cut_in.png",100,0,480,480);
SetScore(100000);
Tmain;
Twing;
Tbat;
SetShotAutoDeleteClip(32,32,32,32);
}
@MainLoop
{
if(OnBomb==false)
	{
	SetCollisionA(GetX,GetY,24);
	SetCollisionB(GetX,GetY,12);
	}

yield;
}
@DrawLoop
{
if(OnBomb==false){DrawGraphic(GetX,GetY);}
}
@Finalize
{
AddScore(10000);
loop(30){CreateItem(ITEM_SCORE,GetX+rand(-50,50),GetY+rand(-30,30))};
DeleteGraphic(GC~".\main.png");
}

#include_function ".\function.txt"

task Tmain
{
loop(60){yield;}
psrand(0);
loop
	{
	if(GetX>GetCenterX){pattern(2);}
	else{pattern(1);}
	SetMovePosition02(GetCenterX,GetClipMinY+100,60);
	loop(20){yield;}
	Concentration01(60);
	loop(40){yield;}
	pattern(0);
	loop(20){yield;}
	DeleteSE("se\seShot");
	PlaySE("se\seShot");
	CreateShot02(GetX,GetY,2,270,-0.05,-4,7,20);
	Tattack(GetX+(24+rand(-12,12))*cos(180),GetY+24*sin(180),-20,24*sin(180),1);
	Tattack(GetX+(24+rand(-12,12))*cos(160),GetY+24*sin(160),-20,24*sin(160),6);
	Tattack(GetX+(24+rand(-12,12))*cos(140),GetY+24*sin(140),-20,24*sin(140),4);
	Tattack(GetX+(24+rand(-12,12))*cos(40),GetY+24*sin(40),24,20*sin(40),3);
	Tattack(GetX+(24+rand(-12,12))*cos(20),GetY+24*sin(20),24,20*sin(20),8);
	Tattack(GetX+(24+rand(-12,12))*cos(0),GetY+24*sin(0),20,24*sin(0),2);
	loop(120){yield;}
	SetDamageRate(100,10);
	Concentration01(60);
	move(GetCenterX+rand(-120,120),GetClipMinY+rand(40,80));
	loop(60){yield;}
	Tline(GetClipMinX,GetCenterY+40,1,-6);
	pattern(0);
	loop(40){yield;}
	move(GetCenterX+rand(-120,120),GetClipMinY+rand(40,80));
	loop(60){yield;}
	pattern(0);
	loop(20){yield;}
	Tline(GetClipMaxX,GetCenterY+40,-1,-6);
	loop(40){yield;}
	move(GetCenterX+rand(-120,120),GetClipMinY+rand(40,80));
	loop(60){yield;}
	pattern(0);
	loop(20){yield;}
	Tline(GetClipMinX,GetCenterY+80,1,-5);
	Tline(GetClipMaxX,GetCenterY+80,-1,-5);
	loop(120){yield;}
	}
}

task Tattack(SX,SY,pitch,height,type)
{
loop(20)
	{
	CreateShotA(0,SX,SY,15);
	SetShotDataA(0,0,2,270,0,0,0,type);
	SetShotDataA(0,trunc(rand(2,20)),2,270,0,-0.05,rand(-3,-1),type);
	FireShot(0);
	SX=SX+pitch;
	SY=SY+height;
	loop(2){yield;}
	}


}

task Tline(SX,SY,left,height)
{
DeleteSE("se\seShot");
PlaySE("se\seShot");
let def=6;
Tattack(SX,SY,24*left,height,5);
loop(4){yield;}
SY=SY-24;
Tattack(SX+(1+rand(0,def))*left,SY,24*left,height,2);
loop(4){yield;}
SY=SY-24;
Tattack(SX-(2+rand(0,def-1))*left,SY,24*left,height,8);
loop(4){yield;}
SY=SY-24;
Tattack(SX+(3+rand(0,def-2))*left,SY,24*left,height,3);
loop(4){yield;}
SY=SY-24;
Tattack(SX-(4+rand(0,def-3))*left,SY,24*left,height,4);
loop(4){yield;}
SY=SY-24;
Tattack(SX+(5+rand(0,def-4))*left,SY,24*left,height,6);
loop(4){yield;}
SY=SY-24;
Tattack(SX-(6+rand(0,def-5))*left,SY,24*left,height,1);
}

function move(X,Y)
{
if(X>GetX){pattern(1);}
else{pattern(2);}
SetMovePosition03(X,Y,15,3.5);
}

}