#e
	#Title[uubNWbNv]
	#Text[[U[ɐGƂ䂪񂾋Ԃɂpxς]
	#Image[]
	#BackGround[(Default)]
        #PlayLevel[Extra]
	#BGM[.\BGM\th06_11.wav]
	#ScriptVersion[2]
	
	script_enemy_main
	{	let angle8 = 0;
		let count2 = 0;
		let count= -140 ;//eoԊu𐧌䂷邽߂̕ϐ
		let cx=GetCenterX();//ϐcxɒSxW
		let cy=GetCenterY();//ϐcxɒSyW
		let imgSakuya=GetCurrentScriptDirectory~".\img\Sakuya.png";
		let arrayLaser=[];//LaserObject̃IuWFNgۑĂ
		let shootSE = GetCurrentScriptDirectory~".\SE\shoot13.wav";
		let cutin = GetCurrentScriptDirectory~".\img\cutSakuya.png";
		@Initialize()
		{
			SetLife(800);//G̃Ct1000ɐݒ
			SetDamageRate(20,0);//_[W10%ɐݒ
			SetGraphicRect(0,0,44,86);//`挳̋`(64,1)-(127,64)ɐݒ
			LoadGraphic(imgSakuya);//摜uimg\Sakuya.pngvǂ݂
			  SetMovePosition02(224,90,60);			
			 SetScore(5200000);//XyJ[h{[iX200000ɐݒ
			 SetTimer(60);//Ԑ60bɐݒ
			CutIn(KOUMA,"uubNWbNv",cutin,0,0,256,256);//XyJ[h\		
			SetMovePosition02(cx,cy,60);//W(cx,60)60t[ňړ
			
		}
			
		@MainLoop()
		{

if(OnBomb){
           SetDamageRate(0,0);}
else {SetDamageRate(20,0);}
			if(count>0 && count%30 == 0)
			{//30t[ɒe΂܂
				PlaySE(shootSE);
				let angle = 0;
				while(angle<360)
				{
					ShotObject(GetX(), GetY(), 1, angle, AQUA32, 5);
					angle+=8;
				}
			}
		count2++;
		if(count2==150)
 			{//count240ɂȂs镔
 				SetShotDirectionType(PLAYER);//e̊px̊@ɕύX
			PlaySE(shootSE);
			loop(30)	
				 { CreateShot01(GetX(),GetY(),2,angle8,RED05,0);
  				angle8 += 12;
						}
						angle8 = 0;
							}
if(count2==180)
 			{//count240ɂȂs镔
 				SetShotDirectionType(PLAYER);//e̊px̊@ɕύX
			PlaySE(shootSE);
			loop(30)	
				 { CreateShot01(GetX(),GetY(),2,angle8,RED05,0);
  				angle8 += 12;
						}
						angle8 = 0;
							}
if(count2==210)
 			{//count240ɂȂs镔
 				SetShotDirectionType(PLAYER);//e̊px̊@ɕύX
			PlaySE(shootSE);
			loop(30)	
				 { CreateShot01(GetX(),GetY(),2,angle8,RED05,0);
  				angle8 += 12;
						}
						angle8 = 0;
							}
if(count2==240)
 			{//count240ɂȂs镔
 				SetShotDirectionType(PLAYER);//e̊px̊@ɕύX
			PlaySE(shootSE);
			loop(30)	
				 { CreateShot01(GetX(),GetY(),2,angle8,RED05,0);
  				angle8 += 12;
						}
						angle8 = 0;
							}
if(count2==270)
 			{//count240ɂȂs镔
 				SetShotDirectionType(PLAYER);//e̊px̊@ɕύX
			PlaySE(shootSE);
			loop(30)	
				 { CreateShot01(GetX(),GetY(),2,angle8,RED05,0);
  				angle8 += 12;
						}
						angle8 = 0;
							}
if(count2==300)
 			{//count240ɂȂs镔
 				SetShotDirectionType(PLAYER);//e̊px̊@ɕύX
			PlaySE(shootSE);
			loop(30)	
				 { CreateShot01(GetX(),GetY(),2,angle8,RED05,0);
  				angle8 += 12;
						}
						angle8 = 0;
							}
if(count2==330)
 			{//count240ɂȂs镔
 				SetShotDirectionType(PLAYER);//e̊px̊@ɕύX
			PlaySE(shootSE);
			loop(30)	
				 { CreateShot01(GetX(),GetY(),2,angle8,RED05,0);
  				angle8 += 12;
						}
						angle8 = 0;
							}
if(count2==360)
 			{//count240ɂȂs镔
 				SetShotDirectionType(PLAYER);//e̊px̊@ɕύX
			PlaySE(shootSE);
			loop(30)	
				 { CreateShot01(GetX(),GetY(),2,angle8,RED05,0);
  				angle8 += 12;
						}
						angle8 = 0;
					count2 = 0;		}
			if(count == 60)
			{//e̋Oς郌[U[쐬
				LaserObject(0,RED01);
				LaserObject(1,BLUE01);
				LaserObject(2,GREEN01);
			}
			if(count == 360)
			{//[U[폜
				let i=0;
				loop(length(arrayLaser))
				{
					ObjShot_FadeDelete(arrayLaser[i]);
					i++;
				}				
				count=0;//JE^0ɂ
			}
	
	
			SetCollisionA(GetX(),GetY(),32);//G̍Wɓ蔻o^
			SetCollisionB(GetX(),GetY(),24);//G̍Wɓ蔻(̓p)o^
			count++;//1t[count1
			yield;//t[^XNA
		}
		
		@DrawLoop()
		{
			SetTexture(imgSakuya);
			DrawGraphic(GetX(),GetY());//G̍WEx[~A`;
		}
		
		@Finalize()
		{
			DeleteGraphic(imgSakuya);
			DeleteSE(shootSE);
			loop(44){CreateItem(ITEM_SCORE,GetX()+rand(-70,70),GetY()+rand(-70,70));}
			CreateItem(ITEM_BOMB,GetX(),GetY());
		}
		
		task LaserObject(let num, let grf)
		{//e̋Oς郌[U[
			//num0-2̃ZbgœG𒆐SɎOp`Ƀ[U[o
			//[U[^XN
			let r=120;
			let angle=210+120*num;
			let obj = Obj_Create(OBJ_LASER);
			arrayLaser = arrayLaser~[obj];//IuWFNgarrayLaserɓo^
			Obj_SetX(obj, GetX() + r*cos(angle-150));
			Obj_SetY(obj, GetY() + r*sin(angle-150));
			Obj_SetAngle(obj, angle);
			ObjShot_SetGraphic(obj, grf);
			ObjShot_SetDelay(obj, 120);//xԁF120t[
			ObjLaser_SetLength(obj, (3^0.5)*r);//~ɓڂ鐳Op`̕ӂ̒F3*r
			ObjLaser_SetWidth(obj, 12);//[U[̕F12
			while( !Obj_BeDeleted(obj) )
			{
				angle+=1;//[U[]
				Obj_SetX(obj, GetX() + r*cos(angle-150));
				Obj_SetY(obj, GetY() + r*sin(angle-150));
				Obj_SetAngle(obj, angle);
				yield;
			}
			
			let i=0;
			loop(length(arrayLaser))
			{//IuWFNg폜
				if(arrayLaser[i] == obj)
				{//zarrayLaseriԖڂ̗vf폜
					arrayLaser = erase(arrayLaser, i);
					break;
				}
				i++;
			}
		}
		task ShotObject(let x, let y, let speed, let angle, let grf, let delay)
		{//[U[ɓOςe
			//e^XN
			let obj = Obj_Create(OBJ_SHOT);
			Obj_SetX(obj, x);
			Obj_SetY(obj, y);
			Obj_SetSpeed(obj, speed);
			Obj_SetAngle(obj, angle);
			ObjShot_SetGraphic(obj, grf);
			ObjShot_SetDelay(obj, delay);
			
			while( !Obj_BeDeleted(obj) )
			{//폜܂Ń[vs	
				let i=0;
				loop(length(arrayLaser))
				{//[U[Ƃ̓蔻𒲍
					if(Collision_Obj_Obj(arrayLaser[i], obj))
					{//LaserƐڐG
					//AŔ肳Ȃ悤ʂ̒eƓւ
					//pxςĂ
					//t[GȂ悤ɃJE^ŊǗĂ悢
						x = Obj_GetX(obj);
						y = Obj_GetY(obj);
						SetShotDirectionType(PLAYER);//e̊px@ɕύX
						CreateShot01(x, y, 3, Obj_GetAngle(arrayLaser[i])-90, grf, 0);
						Obj_Delete(obj);
						break;
					}
					i++;
				}		
				yield;
			}
		}	
		
	}
