#e
#Title[֊u[@eCv]
#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(4000);
SetTimer(60);
CutIn(YOUMU,"֊u[@eCv",GC~".\cut_in.png",100,0,480,480);
SetScore(100000);
Tmain;
Twing;
Tbat;
}
@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");
}

task Tmain
{
loop(60){yield};
SetDamageRate(100,100);
loop
	{
	if(GetX>GetCenterX){pattern(2);}
	else if(absolute(GetX-GetCenterX)<5){pattern(0);}
	else{pattern(1);}
	SetMovePosition02(GetCenterX,GetClipMinY+100,60);
	loop(60){yield};
	pattern(0);
	Tsword(110,180,3,1);
	Tattack2(110,180,3,1);
	loop(120){yield};
	pattern(2);
	SetMovePosition02(GetClipMinX+20,GetClipMinY+50,30);
	loop(40){yield};
	pattern(0);
	Tsword(80,90,0,-1);
	loop(20){yield;}
	Tattack1(1);
	pattern(1);
	SetMovePosition02(GetClipMaxX-20,GetClipMinY+80,60);
	loop(60){yield};
	SetMovePosition02(GetClipMaxX,GetClipMinY+50,30);
	loop(30){yield};
	pattern(0);
	Tsword(80,90,0,1);
	loop(20){yield;}
	Tattack1(-1);
	pattern(2);
	SetMovePosition02(GetClipMinX+20,GetClipMinY+60,60);
	loop(60){yield};
	pattern(1);	
	SetMovePosition02(GetCenterX,GetClipMinY+100,60);
	loop(10){yield};
	Tsword(90,300,-3,-1);
	Tattack2(90,300,-3,-1);
	loop(50){yield};
	pattern(0);
	loop(40){yield};

	}
}

task Tsword(time,start,dangle,left)
{
DeleteSE("se\seLaser");
PlaySE("se\seLaser");
let angle=start;
let sword=Obj_Create(OBJ_LASER);
Obj_SetPosition(sword,GetX,GetY);
Obj_SetAngle(sword,angle);
ObjShot_SetGraphic(sword,33);
ObjLaser_SetLength(sword,500);
ObjLaser_SetWidth(sword,24);
loop(20)
	{
	Obj_SetPosition(sword,GetX,GetY);
	Obj_SetAngle(sword,angle);
	yield;
	}
loop(time-30)
	{
	angle=angle+dangle;
	Obj_SetPosition(sword,GetX,GetY);
	Obj_SetAngle(sword,angle);
	yield;
	}
ObjShot_FadeDelete(sword);
loop(10)
	{
	angle=angle+dangle;
	Obj_SetPosition(sword,GetX,GetY);
	Obj_SetAngle(sword,angle);
	yield;
	}
Obj_Delete(sword);

}

task Tattack1(left)
{
let speed=3;
loop(20)
	{
	shot1(GetX,GetY,0,90,-left,speed);
	speed=speed-0.09;
	loop(3){yield;}
	}
}

function shot1(X,Y,dis,angle,left,arg)
{
let rad=15;
CreateShotA(0,X+rad*cos(angle),Y+rad*sin(angle),5);
SetShotDataA(0,0,arg,angle+90*left,0,-0.015,1.2,33);
FireShot(0);
rad=60;
loop(7)
	{
	CreateShotA(0,X+rad*cos(angle),Y+rad*sin(angle),5);
	SetShotDataA(0,0,arg,angle+90*left,0,-0.015,1.2,33);
	FireShot(0);
	rad=rad+55;
	}
}

task Tattack2(time,start,dangle,left)
{
loop(15){yield;}
time=time-20;
let pitch=dangle*2;
loop(time/2)
	{
	let rad=60;
	CreateShot02(GetX+15*cos(start),GetY+15*sin(start),0,start+90*left,0.05,2,33,5);
	CreateShot02(GetX+15*cos(start),GetY+15*sin(start),0.15,start+90*left,0.05,2,33,5);
	loop(7)
		{
		CreateShot02(GetX+rad*cos(start),GetY+rad*sin(start),0,start+90*left,0.05,2,33,5);
		CreateShot02(GetX+rad*cos(start),GetY+rad*sin(start),0.15,start+90*left,0.05,2,33,5);
		rad=rad+55;
		}
	start=start+pitch;
	loop(2){yield;}
	}


}


#include_function ".\function.txt"

}