#東方弾幕風
#Title[宵符「ナイトレイヴン」]
#Text[Exルーミア：宵符「ナイトレイヴン」]
#Image[.\img\ExRumia(宵符「ナイトレイヴン」).png]
#BackGround[Default]
#Player[FREE]
#ScriptVersion[2]

script_enemy_main
{
	let count=0;
	let cx=GetCenterX();//STGシーンの中心x座標を取得;
	let imgExRumia=GetCurrentScriptDirectory~"img\ExRumia.png";
	let imgExRumiaBack=GetCurrentScriptDirectory~"img\ExRumiaBack.png";
	let step=1;
	@Initialize
	{
		SetScore(50000);//スペルカードボーナスを50000に設定
		SetLife(280);//ライフを280に設定
		SetDamageRate(10,10);//披ダメージを10%に設定
		SetTimer(60);;//時間制限を60秒に設定

		SetGraphicRect(1,1,64,64);//描画元矩形を設定
		SetInvincibility(30);//敵を30フレーム無敵にする
		LoadGraphic(imgExRumia);//画像「img\ExRumia.png」を読みこむ		
		LoadGraphic(imgExRumiaBack);
		
		SetColor(255,64,64);
		SetMovePosition02(cx,60,60);//座標(cx,60)へ60フレームかけて移動する
		Concentration01(120);
		SetText("宵符「ナイトレイヴン」");//スペルカード名表示
		CutIn(YOUMU,"宵符「ナイトレイヴン」",0,0,0,0,0);//スペルカード名表示
		SetEffectForZeroLife(90,192,1);
	}
	
	@MainLoop
	{
		SetColor(255,64,64);
		if(count>90&&count<150&&count%3==0)
		{//レーザー赤
			let tang=GetAngleToPlayer()+6;
			tang+=(count-90)*2;
			let tLaser=0;
			CreateLaserB(tLaser,700,15,RED01,90);
			SetLaserDataB(tLaser,0,0,100,0,tang,0,tang,0);
			SetLaserDataB(tLaser,20,0,100,-0.5,tang,0,tang,0);
			let i=0;
			while(i<5)
			{
				let tShot=1;
				CreateShotA(tShot,0,0,30);
				SetShotDataA(tShot,0,1.5,-90,0,0,1.5,RED21);
				AddShot(80,tLaser,tShot,i*60);
				i++;
			}
			SetShotKillTime(tLaser,255);			
			FireShot(tLaser);

			tang=GetAngleToPlayer()-6;
			tang+=-(count-90)*2;
			CreateLaserB(tLaser,700,15,RED01,90);
			SetLaserDataB(tLaser,0,0,100,0,tang,0,tang,0);
			SetLaserDataB(tLaser,20,0,100,-0.5,tang,0,tang,0);
			i=0;
			while(i<5)
			{
				let tShot=1;
				CreateShotA(tShot,0,0,30);
				SetShotDataA(tShot,0,1.5,90,0,0,1.5,RED21);
				AddShot(80,tLaser,tShot,i*60);
				i++;
			}
			SetShotKillTime(tLaser,255);
			FireShot(tLaser);
		}
		else if(count==240)
		{
			let tang=GetAngleToPlayer();
			let i=0;
			while(i<360)
			{
				CreateShot02(GetX(),GetY(),5,i,-0.2,3,RED21,30);
				i+=10;;
			}
		}
		else if(count==270)
		{//ランダムに移動先を決める
			Concentration01(60);
			SetMovePositionRandom01(50,20,5,GetClipMinX()+100,30,GetClipMaxX()-100,100);
		}
		else if(count==300)
		{
			count=89;
		}	
		SetCollisionA(GetX(),GetY(),32);//当たり判定(自弾)登録
		count++;
	}
	
	@Finalize
	{//読みこんだファイルを削除
		DeleteGraphic(imgExRumia);	
		DeleteGraphic(imgExRumiaBack);
	}
	
	@DrawLoop
	{
		SetColor(255,255,255);
		//Exルーミア描画
		SetRenderState(ALPHA);
		SetAlpha(255);
		SetTexture(imgExRumia);
		if(int(GetSpeedX())==0){SetGraphicRect(64,1,127,64);}
		else if(GetSpeedX()>0){SetGraphicRect(192,1,255,64);}
		else if(GetSpeedX()<0){SetGraphicRect(128,1,191,64);}
		DrawGraphic(GetX(),GetY());
	}
	@BackGround
	{
		//背景描画
		SetGraphicRect(0,0,384,448);
		SetTexture(imgExRumiaBack);
		DrawGraphic(cx,240);		
	}	
}