#東方弾幕風
#Title[通常5]
#Text[十字架のようなレーザーを放つ通常攻撃。ケルト十字のイメージ。事故りやすい。]
#ScriptVersion[2]
#Player[FREE]

script_enemy_main {
        let count=-100;
	let cx=GetCenterX();//STGシーンの中心x座標を取得
	let imgExRumia=GetCurrentScriptDirectory~"img\ExRumia.png";
        let speed=0;

	@Initialize
	{
		SetLife(1500);//ライフを1500に設定
                SetDamageRate(50,50);
		SetTimer(70);//時間制限を70秒に設定
		SetGraphicRect(1,1,64,64);//描画元矩形を設定
		SetInvincibility(100);//敵を30フレーム無敵にする
		LoadGraphic(imgExRumia);//画像「img\ExRumia.png」を読みこむ		
		SetMovePosition02(cx+0,80,160);//座標(cx,60)へ160フレームかけて移動する
		DeleteEnemyShot(ALL);//出現と同時に敵弾を全て削除
	}
	


	@MainLoop
	{
                if(count>200&&count%20==2)		
                {
                        let j=3;
                        while(j>1)
                        {
                            let angle = 90;
                            loop(4) {
                                     CreateLaser01(GetX, GetY,j+1, angle,80, 15, GREEN01, 0);
                                     CreateLaser01(GetX, GetY,j, 45-angle,50, 5, GREEN01, 0);
                                     angle += 90;
                                     }
                            j-=1
                        }
                 }

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

		}
		if(count==280)		
                {
                        let j=3;
                        while(j>1)
                        {
                            let angle = 90;
                            loop(90) {
                                     CreateShot01(GetX, GetY, j, angle, GREEN05, 0);
                                     angle += 4;
                                     }
                            j-=1
                        }
                 }
                if(count==320)
		{
			SetMovePositionRandom01(75,40,5,GetClipMinX()+100,80,GetClipMaxX()-100,150);
		}

		if(count==340){count=89;};
		SetCollisionA(GetX(),GetY(),32);//当たり判定(自弾)登録
		SetCollisionB(GetX(),GetY(),24);//当たり判定(体当たり)登録
		count++;
	}
	
	@Finalize
	{//読みこんだファイルを削除
		DeleteGraphic(imgExRumia);
	}
	
	@DrawLoop
	{//描画
		SetColor(255,255,255);
		SetRenderState(ALPHA);
		SetTexture(imgExRumia);
		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);}
		DrawGraphic(GetX(),GetY());
	}
}
}