#e[Player]	//@XNvgł邱Ƃ܂
#ScriptVersion[2]	//XNvgo[W2K{ł
#Menu[~AEXJ[bg]		//@Iʂŕ\郁j[ł
#Text[Ver.1.05EJX}uCN
CF݂肠E[
{FؕuO[Xg[v
@@@֊uJSJSv
UЗ́F`
Ú͈F`
xF
ᑬxF
\́F̓P
@@@@@xEp`[t
SV^̎@B
{gƎx𓾂B
]	//@Iʂŕ\eLXgł
#Image[.\img\image_Remi.png]
#ReplayName[RemiBR2]	//vCIɕ\镶łB8ȓłB

script_player_main
{
	let current = GetCurrentScriptDirectory();//JgfBNg擾
	let imgRemi = current~"img\Remi.png";
	let CutRemiF = current~"img\cutin_RemiF.png";
	let CutRemiP = current~"img\cutin_RemiP.png";
	let shotCount = -1;//eAŔ˂邽߂̕ϐ
	let bNextShot = false;//񉟂łeA˂邽߂̕ϐ(Â炢)
	let SubShot = false;
	let angleA = 0;
	let angleB = 0;
	let angleC = 0;
	let angleD = 0;
	let Zensoku = 0;
	let SShot = 0;
	let Animation = 0;
	let AnimaX = 0;
	let AnimaY = 0;
	let Type = 0;

	@Initialize
	{
		//@̏Ɉ񂾂Ăяo镔ł
		SetPlayerLifeImage(imgRemi,0,0,39,42);//c@̉摜
		LoadGraphic(imgRemi);
		LoadGraphic(CutRemiF);
		LoadGraphic(CutRemiP);
		SetSpeed(5,2);//ړxݒ
		SetRibirthFrame(7);
		SetInitialBombCount(3);
		LoadPlayerShotData(current~"RemiShotData.txt");
		SetItemCollectLine(125);//ACeCݒ
		Anima;
	}

	@MainLoop
	{
		if(Type==2){
			angleA=angleA+0.5;
			if(angleA>360){angleA=0;}
			angleB=angleB-1;
			if(angleB>360){angleB=0;}
			} else if(Type==1){
			angleC=angleC+2;
			if(angleC>360){angleC=0;}
			angleD=angleD+5;
			if(angleD>360){angleD=0;}
			Zensoku++;
			if(Zensoku>3000){SShot=SShot-0.01;}
			if(SShot<0.1){SShot=0.1;}
			}
	if(!OnBomb){
		if((GetKeyState(VK_SHOT)==KEY_PUSH||GetKeyState(VK_SHOT)==KEY_HOLD||bNextShot==true)&&shotCount==-1)
		{
			shotCount = 0;
			bNextShot = false;
		}
		if(GetKeyState(VK_SHOT)==KEY_HOLD&&shotCount>0)
		{
			bNextShot = true;
		}

	if(!OnMissed&&!OnEvent){
		if(shotCount%6==0)
		{
			PlaySE("sePlayerShot01.wav");
			if(Type==0){
			MainShot(270,10,-7,-20,8,6,2);
			MainShot(270,10,7,-20,8,6,2);
			} else if(Type==1){
			MainShot(270,51,-7,-20,9,3,2);
			MainShot(270,51,7,-20,9,3,2);

			MainShot(260,52,cos(angleD)*40,sin(angleD)*40-20,9,SShot,2);
			MainShot(260,53,cos(angleD+72)*40,sin(angleD+72)*40-20,9,SShot,2);
			MainShot(260,54,cos(angleD+144)*40,sin(angleD+144)*40-20,9,SShot,2);
			MainShot(260,55,cos(angleD+216)*40,sin(angleD+216)*40-20,9,SShot,2);
			MainShot(260,56,cos(angleD+288)*40,sin(angleD+288)*40-20,9,SShot,2);
			MainShot(280,52,cos(angleD)*40,sin(angleD)*40-20,9,SShot,2);
			MainShot(280,53,cos(angleD+72)*40,sin(angleD+72)*40-20,9,SShot,2);
			MainShot(280,54,cos(angleD+144)*40,sin(angleD+144)*40-20,9,SShot,2);
			MainShot(280,55,cos(angleD+216)*40,sin(angleD+216)*40-20,9,SShot,2);
			MainShot(280,56,cos(angleD+288)*40,sin(angleD+288)*40-20,9,SShot,2);
			} else if(Type==2){
			MainShot(270,42,-7,-20,9,0.5,100);
			MainShot(270,42,7,-20,9,0.5,100);

			MainShot(270,43,cos(angleB*2)*40,sin(angleB*2)*40-20,9,0.2,100);
			MainShot(270,43,cos(angleB*2+90)*40,sin(angleB*2+90)*40-20,9,0.2,100);
			MainShot(270,43,cos(angleB*2+180)*40,sin(angleB*2+180)*40-20,9,0.2,100);
			MainShot(270,43,cos(angleB*2+270)*40,sin(angleB*2+270)*40-20,9,0.2,100);
			}
		}
		if(GetKeyState(VK_USER)==KEY_PUSH){	//[U[L[
			Type=0;
		}
	}

		if(shotCount>=0)
		{
			shotCount++;
		}
		if(shotCount==30)
		{
			shotCount=-1;
		}
		} else {shotCount=-1;}

		SetIntersectionCircle(GetPlayerX,GetPlayerY,1.5);
		yield;
	}

task MainShot(Angle,SW,SX,SY,SP,SS,SD){
	let obj = Obj_Create(OBJ_SHOT);
	Obj_SetPosition(obj,GetPlayerX+SX,GetPlayerY+SY);
	Obj_SetSpeed(obj,SP);
	Obj_SetAngle(obj,Angle);
	ObjShot_SetDamage(obj,SS);
	ObjShot_SetPenetration(obj,SD);
	ObjShot_SetGraphic(obj,SW);
	Obj_SetAlpha(obj,200);
	}

	@Missed{
			Type=0;
		}

	@SpellCard
	{
	AnimaX = 20;
	AnimaY = 0;
		if(GetKeyState(VK_SLOWMOVE)==KEY_PUSH||GetKeyState(VK_SLOWMOVE)==KEY_HOLD)
		{	
		UseSpellCard("Fran",true);
		CutIn(KOUMA,"֊uJSJSv",CutRemiF);
		Type=2;
		Anima2;
		}
		else
		{
		UseSpellCard("Pache",true);
		CutIn(KOUMA,"ؕuO[Xg[v",CutRemiP);
		Type=1;
		SShot=3;
		Zensoku=0;
		Anima2;
		}
	}
	
	@DrawLoop
	{
		if(Type==1){
		SetGraphicRect(138,291,156,328);
		SetTexture(imgRemi);
		SetGraphicScale(AnimaX*0.1,AnimaY*0.1);
		SetAlpha(255);
		SetColor(255,255,255);
		SetRenderState(ALPHA);
		SetGraphicAngle(0,0,0);
		DrawGraphic(GetPlayerX(),GetPlayerY()-50);

		SetGraphicRect(118,172,176,230);
		SetTexture(imgRemi);
		SetGraphicScale(1.5,1.5);
		SetAlpha(100);
		SetGraphicAngle(0,0,angleC*-1);
		DrawGraphic(GetPlayerX(),GetPlayerY());
		SetGraphicScale(1,1);
		SetAlpha(255);
		SetGraphicAngle(0,0,angleD);
		SetGraphicRect(118,270,137,289);
		DrawGraphic(GetPlayerX+cos(angleD)*40,GetPlayerY+sin(angleD)*40);
		SetGraphicRect(138,270,157,289);
		DrawGraphic(GetPlayerX+cos(angleD+72)*40,GetPlayerY+sin(angleD+72)*40);
		SetGraphicRect(158,270,177,289);
		DrawGraphic(GetPlayerX+cos(angleD+144)*40,GetPlayerY+sin(angleD+144)*40);
		SetGraphicRect(178,270,197,289);
		DrawGraphic(GetPlayerX+cos(angleD+216)*40,GetPlayerY+sin(angleD+216)*40);
		SetGraphicRect(198,270,217,289);
		DrawGraphic(GetPlayerX+cos(angleD+288)*40,GetPlayerY+sin(angleD+288)*40);
		} else if(Type==2){
		SetGraphicRect(101,290,132,329);
		SetTexture(imgRemi);
		SetGraphicScale(AnimaX*0.1,AnimaY*0.1);
		SetAlpha(255);
		SetColor(255,255,255);
		SetRenderState(ALPHA);
		SetGraphicAngle(0,0,0);
		DrawGraphic(GetPlayerX(),GetPlayerY()-50);

		SetGraphicRect(177,172,235,230);
		SetTexture(imgRemi);
		SetGraphicScale(1.5,1.5);
		SetAlpha(100);
		SetGraphicAngle(0,0,angleB);
		DrawGraphic(GetPlayerX(),GetPlayerY());
		SetGraphicRect(0,310,19,329);
		SetGraphicScale(1,1);
		SetAlpha(255);
		SetGraphicAngle(0,0,angleA);
		DrawGraphic(GetPlayerX+cos(angleB*2)*40,GetPlayerY+sin(angleB*2)*40);
		DrawGraphic(GetPlayerX+cos(angleB*2+90)*40,GetPlayerY+sin(angleB*2+90)*40);
		DrawGraphic(GetPlayerX+cos(angleB*2+180)*40,GetPlayerY+sin(angleB*2+180)*40);
		DrawGraphic(GetPlayerX+cos(angleB*2+270)*40,GetPlayerY+sin(angleB*2+270)*40);
		}

		SetAlpha(255);
		SetRenderState(ALPHA);
		SetGraphicAngle(0,0,0);
		SetTexture(imgRemi);
		SetGraphicScale(1,1);
		if(GetKeyState(VK_LEFT)==KEY_PUSH||GetKeyState(VK_LEFT)==KEY_HOLD)
		{
			SetGraphicRect(40,0+43*Animation,79,42+43*Animation);
		}
		else if(GetKeyState(VK_RIGHT)==KEY_PUSH||GetKeyState(VK_RIGHT)==KEY_HOLD)
		{
			SetGraphicRect(80,0+43*Animation,119,42+43*Animation);
		}
		else 
		{
			SetGraphicRect(0,0+43*Animation,39,42+43*Animation);
		}
		DrawGraphic(GetPlayerX(), GetPlayerY());	
	}

task Anima{
		loop{
		Animation=0;
		loop(10){yield;}
		Animation=1;
		loop(10){yield;}
		Animation=2;
		loop(10){yield;}
		}
	}

task Anima2{
		loop(10){
		AnimaX=AnimaX-1;
		AnimaY=AnimaY+1;
		yield;}
		loop(120){yield;}
		loop(10){
		AnimaX=AnimaX-1;
		AnimaY=AnimaY+1;
		yield;}
	}

	@Finalize
	{
		DeleteGraphic(imgRemi);
	}
}

}

script_spell Pache
{
	let current = GetCurrentScriptDirectory();
	let bom2 = current~"se\BOM3.wav";
	let i = 0;
	@Initialize
	{
		SetPlayerInvincibility(175);//GԂݒ
		shoot;
	}
	@MainLoop
	{
		CollectItems;
		yield;
	}
	@Finalize
	{
	}


task shoot{
	loop(50){yield;}
	PlaySE(bom2);
	loop(120){
		Sshot11;
		Sshot11;
		Sshot11;
		Sshot12;
		Sshot12;
		Sshot12;
		loop(1){yield;}
		}
	loop(5){yield;}
	End;
}

task Sshot11{
	let obj = Obj_Create(OBJ_SHOT);
	Obj_SetPosition(obj,rand(0,448),480);
	Obj_SetSpeed(obj,10);
	Obj_SetAngle(obj,rand(210,240));
	ObjShot_SetDamage(obj,0.75);
	ObjShot_SetPenetration(obj,10000);
	ObjShot_SetGraphic(obj,50);
	Obj_SetAlpha(obj,200);
}
task Sshot12{
	let obj = Obj_Create(OBJ_SHOT);
	Obj_SetPosition(obj,448,rand(0,480));
	Obj_SetSpeed(obj,10);
	Obj_SetAngle(obj,rand(210,240));
	ObjShot_SetDamage(obj,0.75);
	ObjShot_SetPenetration(obj,10000);
	ObjShot_SetGraphic(obj,50);
	Obj_SetAlpha(obj,200);
}

}

script_spell Fran
{
	let current = GetCurrentScriptDirectory();
	let shotCount=0;
	let bom1 = current~"se\BOM1.wav";
	let arrayShotA=[];
	let angle = 0;

	@Initialize
	{
		SetPlayerInvincibility(200);//GԂݒ
		shoot;
	}
	@MainLoop
	{
		if(shotCount>=120&&shotCount<=204&&shotCount%12==0)
		{
			PlaySE(bom1);
			ShotA(315,10,-20,8,0);
			ShotA(225,0,-20,8,0);
			ShotA(270,-10,-20,8,0);
		}
		CollectItems;
		shotCount++;
		yield;
	}
	@Finalize
	{
	}

task ShotA(Angle,SX,SY,SP,SS){
	let obj = Obj_Create(OBJ_SHOT);
	arrayShotA = arrayShotA ~ [obj];
	Obj_SetPosition(obj,GetPlayerX+SX,GetPlayerY+SY);
	Obj_SetSpeed(obj,SP);
	Obj_SetAngle(obj,Angle);
	ObjShot_SetDamage(obj,SS);
	ObjShot_SetPenetration(obj,20000);
	ObjShot_SetGraphic(obj,41);
	Obj_SetAlpha(obj,200);

	while(!Obj_BeDeleted(obj)){yield;}
	}

task shoot{
	let x = 0;
	let y = 0;
	let i = 0;
	loop(50){yield;}
	x=GetPlayerX;
	y=GetPlayerY;
	loop(35){
	PlaySE(bom1);
		let j=0;
		while(j<24){
		Sshot11(30+i,x,y,j*15);
		j++
		}
	loop(2){yield;}
	i=i+20;
	yield;}
	loop(150){yield;}
	End;
}

task Sshot11(SW,SX,SY,angle){
	let count=0;
	let obj=Obj_Create(OBJ_SHOT);
	Obj_SetPosition(obj,SX+cos(angle)*SW,SY-50+sin(angle)*SW);
	Obj_SetSpeed(obj,0);
	Obj_SetAngle(obj,0);
	ObjShot_SetDamage(obj,0);
	ObjShot_SetPenetration(obj,20000);
	ObjShot_SetGraphic(obj,40);
	Obj_SetAlpha(obj,250);
	ObjShot_SetDelay(obj,20);

		while(!Obj_BeDeleted(obj))
		{//폜܂Ń[vs
			let i=0;
			loop(length(arrayShotA))
			{//ShotAƂ̓蔻𒲍
				if(Collision_Obj_Obj(arrayShotA[i],obj))
				{//ShotAƐڐG
					MainShot2(270,SX+cos(angle)*SW,SY-50+sin(angle)*SW,atan2(Obj_GetY(obj)-Obj_GetY(arrayShotA[i]),Obj_GetX(obj)-Obj_GetX(arrayShotA[i])));
					Obj_Delete(obj);//Gꂽ폜
				}
				i++;
			}		
			if(count==150)
			{//150t[ŏ
				ObjShot_FadeDelete(obj);
				break;
			}
			count++;
			yield;
		}
	}

task MainShot2(Angle,SX,SY,Sangle){
	let SP = 0;
	let obj = Obj_Create(OBJ_SHOT);
	Obj_SetPosition(obj,SX,SY);
	Obj_SetSpeed(obj,0);
	Obj_SetAngle(obj,Sangle);
	ObjShot_SetDamage(obj,2);
	ObjShot_SetPenetration(obj,20000);
	ObjShot_SetGraphic(obj,40);
	Obj_SetAlpha(obj,200);

	loop(100){Obj_SetSpeed(obj,SP);
		SP=SP+0.05;
		yield;}
	}
}