#東方弾幕風
#Title[殉教「聖ペテロの逆十字」]
#Text[「こっち来んな！」系のスペカ。誘導のパターンができれば安定。]

#BackGround[Default]

#Player[FREE]
#ScriptVersion[2]

script_enemy_main
{
	let count=0;
	let cx=GetCenterX();//STGシーンの中心x座標を取得;
	let imgExRumia=GetCurrentScriptDirectory~"img\ExRumia.png";
	let imgeffect_magic=GetCurrentScriptDirectory~"img\effect_magic.png";
        let speed=0;	
        let eco00=GetCurrentScriptDirectory~"SE\eco00.wav";
	let imgLittle=GetCurrentScriptDirectory~"img\RumiaCutIn.png";
	let imgback04_06=GetCurrentScriptDirectory~"img\back04_06.png";
	let imgAngle=0;

        @Initialize
	{
		SetScore(30000);//スペルカードボーナスを30000に設定
		SetLife(250);//ライフを300に設定
		SetDamageRate(10,5);//披ダメージを10%に設定
		SetTimer(60);//時間制限を60秒に設定

		SetGraphicRect(1,1,64,64);//描画元矩形を設定
		SetInvincibility(100);//敵を30フレーム無敵にする
		
		LoadGraphic(imgExRumia);//画像「img\ExRumia.png」を読みこむ		
		LoadGraphic(imgeffect_magic); 
		LoadGraphic(imgback04_06);
                LoadSE(eco00);

		SetMovePosition02(cx,60,60);//座標(cx,60)へ60フレームかけて移動する
		Concentration01(150);
		CutIn(YOUMU,"殉教「聖ペテロの逆十字」",imgLittle,1,1,350,525);//スペルカード名表示
	}
	
	@MainLoop
	{
                if(count==140){ 
                               Concentration02(80);
                               }  

                if(count==160){ 
                               PlaySE(eco00);
                               }

                 if(count>200&&count%20==2)		
                         {
                         let ang=90;                     
                         loop(4) {
                                  CreateLaser01(GetX, GetY,5, ang,150, 10, BLUE01, 0);
                                  ang += 90;
                                  }
                         }

                if(count>240&&count%24==0)
		{
			let ang=GetAngleToPlayer();//敵から自機方向への角度を取得
			let i=0;
			let h=0;
                        let g=1;
                        while(i<360)
			{
				CreateShot02(GetX(),GetY(),7,i+count,-0.4,1.5,BLUE03,80);//弾を発射
				CreateShot02(GetX(),GetY(),8,h-count,-0.4,g-speed,BLUE02,90);
				i+=30;
                                h+=90;
                                g+=0.1;
			}

		}
		if(count==240)
		{
                        SetMovePosition03(GetPlayerX(),GetPlayerY(),30,5)

		}

		if(count==360){count=0;};
		SetCollisionA(GetX(),GetY(),32);//当たり判定(自弾)登録
		SetCollisionB(GetX(),GetY(),24);//当たり判定(体当たり)登録
		count++;
	}
	
	@Finalize
	{//読みこんだファイルを削除
		DeleteGraphic(imgExRumia);	
		DeleteGraphic(imgeffect_magic);
		DeleteGraphic(imgback04_06);
		CreateItem(ITEM_BOMB,GetX,GetY-60);
		loop(20)
		{
			CreateItem(ITEM_SCORE,cx+rand(-100,100),rand(20,100));
		}
	}
	
	@DrawLoop
	{
		//Exルーミア描画
		
                if(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);}
                                                      
		SetAlpha(255);
		SetTexture(imgExRumia);
		DrawGraphic(GetX(),GetY());

		


			SetGraphicRect(0,80,150,230);
			SetAlpha(255);
			SetGraphicAngle(0,0,-imgAngle);
			SetTexture(imgeffect_magic);
			DrawGraphic(GetX(),GetY());
			imgAngle+=0.5;

			SetGraphicRect(300,230,450,380);
			SetAlpha(255);
			SetGraphicAngle(0,0,imgAngle);
			SetTexture(imgeffect_magic);
			DrawGraphic(GetX(),GetY());



	}

	@BackGround
	{
	//スペルカード時の背景部分
	//無くてもよい


		SetTexture(imgback04_06);
		SetGraphicRect(1,1,512,512);
		SetAlpha(100);
		SetGraphicAngle(0,0,0);
		DrawGraphic(GetCenterX,GetCenterY);
		
	}


}