#東方弾幕風
#Title[振符「コサインウェーブ」]
#Text[試作]
#ScriptVersion[2]
script_enemy_main
{
	let cx=GetCenterX();//STGシーンの中心x座標を取得
	let cy=GetCenterY();//STGシーンの中心y座標を取得
	let imgExRumia=GetCurrentScriptDirectory~"img\ExRumia.png";
	let imgExRumiaBack=GetCurrentScriptDirectory~"img\ExRumiaBack.png";
	LoadUserShotData(GetCurrentScriptDirectory~"shot.txt");
	@Initialize
	{
		SetScore(30000);
		SetLife(500);
		SetDamageRate(10,8);
		SetMovePosition02(cx,cy-120,60);
		SetTimer(60);
		SetGraphicRect(1,1,64,64);
		SetInvincibility(60);
		LoadGraphic(imgExRumia);
		SetTexture(imgExRumia);	
		shottask;
		shottask2;
		CutIn(YOUMU,"振符「コサインウェーブ」",0,0,0,0,0);//スペルカード名表示
	}
	@MainLoop
	{
		yield;
		SetCollisionA(GetX(),GetY(),24);//当たり判定(自弾)登録
		SetCollisionB(GetX(),GetY(),24);//当たり判定(体当たり)登録
	}
	@Finalize
	{
		loop(8)
		{
			CreateItem(ITEM_SCORE,cx+rand(-100,100),rand(20,100));
		}
	}
	@DrawLoop
	{
		SetGraphicRect(1,1,64,64);
		SetAlpha(255);
		DrawGraphic(GetX(),GetY());
	}
	task shottask
	{
		let s=0;
		let angle=rand(0,360);
		wait(120);
		loop
		{
			shot(s,angle);
			angle+=7;
			wait(2);
		}
	}
	task shottask2
	{
		let s=0;
		let x=0;
		wait(120);
		loop
		{
			x=GetClipMinX;
			loop(5)
			{
				CreateShot01(x,GetClipMinY,2,90,92,0);
				x+=96;
			}
			wait(12);
		}
	}
	function shot(let shotid,let angle)
	{
		CreateShotA(shotid,cx+190*sin(angle),GetClipMinY,0);
		SetShotDataA(shotid,0,2,90,0,0,2,94);
		FireShot(shotid);
		CreateShotA(shotid,cx+190*cos(angle),GetClipMinY,0);
		SetShotDataA(shotid,0,2,90,0,0,2,89);
		FireShot(shotid);
	}
	function wait(w) 
	{
		loop(w)
		{
			yield;
		}
	}
}