
	#Title[ʏ킻1]
	#Text[]
	#ScriptVersion[2]
	
	script_enemy_main
	{
let csd     = GetCurrentScriptDirectory;
        let imgBoss   = csd ~ "Boss.png";
    let frame     =  0;
let count;//eoԊu𐧌䂷邽߂̕ϐ;
	let count2;//eoԊu𐧌䂷邽߂̕ϐ;
	let cx;//ϐcxɐ^񒆂̍W;
		@Initialize
		{        SetLife(2000);
        SetTimer(30);
        SetDamageRate(80,50);
        LoadGraphic(imgBoss);
        SetTexture(imgBoss);
        SetGraphicRect(1, 1, 64, 64);
SetMovePosition02(GetCenterX,GetCenterY,60);
count=0;
count2=0;

}
	@MainLoop
		{SetCollisionA(GetX, GetY, 32);

 SetCollisionB(GetX, GetY, 16);
count++;
frame++;
if(count==60){let angle=GetAngleToPlayer;
CreateLaserB(0,1000,15,BLUE11,90);
SetLaserDataB(0,0,0,30,0,angle,0.3,angle,0.3);
FireShot(0);
CreateLaserB(1,1000,15,BLUE11,90);
SetLaserDataB(1,0,0,30,0,angle+22.5,0.3,angle+22.5,0.3);
FireShot(1);
CreateLaserB(2,1000,15,BLUE11,90);
SetLaserDataB(2,0,0,30,0,angle+45,0.3,angle+45,0.3);
FireShot(2);
CreateLaserB(3,1000,15,BLUE11,90);
SetLaserDataB(3,0,0,30,0,angle+67.5,0.3,angle+67.5,0.3);
FireShot(3);
CreateLaserB(4,1000,15,BLUE11,90);
SetLaserDataB(4,0,0,30,0,angle+90,0.3,angle+90,0.3);
FireShot(4);
CreateLaserB(5,1000,15,BLUE11,90);
SetLaserDataB(5,0,0,30,0,angle+112.5,0.3,angle+112.5,0.3);
FireShot(5);
CreateLaserB(6,1000,15,BLUE11,90);
SetLaserDataB(6,0,0,30,0,angle+135,0.3,angle+135,0.3);
FireShot(6);
CreateLaserB(7,1000,15,BLUE11,90);
SetLaserDataB(7,0,0,30,0,angle+157.5,0.3,angle+157.5,0.3);
FireShot(7);
CreateLaserB(8,1000,15,BLUE11,90);
SetLaserDataB(8,0,0,30,0,angle+180,0.3,angle+180,0.3);
FireShot(8);
CreateLaserB(10,1000,15,BLUE11,90);
SetLaserDataB(10,0,0,30,0,angle-157.5,0.3,angle-157.5,0.3);
FireShot(10);
CreateLaserB(11,1000,15,BLUE11,90);
SetLaserDataB(11,0,0,30,0,angle-135,0.3,angle-135,0.3);
FireShot(11);
CreateLaserB(12,1000,15,BLUE11,90);
SetLaserDataB(12,0,0,30,0,angle-112.5,0.3,angle-112.5,0.3);
FireShot(12);
CreateLaserB(13,1000,15,BLUE11,90);
SetLaserDataB(13,0,0,30,0,angle-90,0.3,angle-90,0.3);
FireShot(13);
CreateLaserB(14,1000,15,BLUE11,90);
SetLaserDataB(14,0,0,30,0,angle-67.5,0.3,angle-67.5,0.3);
FireShot(14);
CreateLaserB(15,1000,15,BLUE11,90);
SetLaserDataB(15,0,0,30,0,angle-45,0.3,angle-45,0.3);
FireShot(15);
CreateLaserB(16,1000,15,BLUE11,90);
SetLaserDataB(16,0,0,30,0,angle-22.5,0.3,angle-22.5,0.3);
FireShot(16);}

if(frame==180){Homing(GetX(),GetY(),3,GetAngleToPlayer(),0);
frame=0;}
yield;


}
		
		@DrawLoop
		{DrawGraphic(GetX, GetY);}
			
		@Finalize
		{DeleteGraphic(imgBoss);}

	

		task Homing(let x, let y, let speed, let angle, let delay)
		{
			//e^XN
			let obj = Obj_Create(OBJ_SHOT);//eIuWFNg쐬
			Obj_SetX(obj, x);//xWݒ
			Obj_SetY(obj, y);//yWݒ;
			Obj_SetSpeed(obj, speed);//xݒ
			Obj_SetAngle(obj, angle);//ړpxݒ
			ObjShot_SetGraphic(obj, BLUE21);//摜ݒ
			ObjShot_SetDelay(obj, delay);//xԐݒ
			
			while( !Obj_BeDeleted(obj) )
			{//폜܂Ń[vs
				//z[~O
				let toAngle=atan2(GetPlayerY()-Obj_GetY(obj), GetPlayerX()-Obj_GetX(obj));//@̊px擾
				//dAngleF1t[̊pxωʌE
				//dAngle𑝉قǃz[~O\
				let dAngle=2;
				let ret=toAngle-angle;
				if((ret>0&&ret<=180)||(ret<0&&ret<=-180)){angle+=dAngle;}
				else if((ret>0&&ret>180)||(ret<0&&ret>-180)){angle-=dAngle;}
				if(angle>=360){angle-=360;}//360ȏȂ0`360ɕ␳
				if(angle<0){angle+=360;}//0Ȃ0`360ɕ␳
				Obj_SetAngle(obj, angle);
				if(count2 == 300){ObjShot_FadeDelete(obj);}//300t[ŏ
				count2++;	
				yield;
			}
		}

}