#e[Player]	//@XNvgł邱Ƃ܂
#ScriptVersion[2]	//XNvgo[W2K{ł
#Menu[]		//@Iʂŕ\郁j[ł
#Text[Ver.1.00
CF^a
{@FTuT̙Kv
@@@F匕uHؔTav
UЗ́F`
Ú͈F
xF
ᑬxF
\́FeVAbv
{gƈ莞ԍU͂㏸B
]	//@Iʂŕ\eLXgł
#Image[.\img\image_Momiji.png]
#ReplayName[Momiji]	//vCIɕ\镶łB8ȓłB

script_player_main
{
	let current = GetCurrentScriptDirectory();//JgfBNg擾
	let imgMomiji = current~"img\Momiji.png";
	let CutMomiji = current~"img\cutin_Momiji.png";
	let shotCount = -1;//eAŔ˂邽߂̕ϐ
	let bNextShot = false;//񉟂łeA˂邽߂̕ϐ(Â炢)
	let SubShot = false;
	let bom = false;
	let angle = 0;
	let tensyon = 0;
	let imgAngle = 0;
	let imgAlpha = 0;
	let imgSize = 0;

	@Initialize
	{	
		//@̏Ɉ񂾂Ăяo镔ł
		SetPlayerLifeImage(imgMomiji,4,0,34,37);//c@̉摜
		LoadGraphic(imgMomiji);
		SetSpeed(5,2);//ړxݒ
		SetRibirthFrame(7);
		SetInitialBombCount(3);
		LoadPlayerShotData(current~"MomijiShotData.txt");
		SetItemCollectLine(125);//ACeCݒ
	}
	
	@MainLoop
	{
	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(GetKeyState(VK_SLOWMOVE)==KEY_PUSH || GetKeyState(VK_SLOWMOVE)==KEY_HOLD)
		{	//ᑬړ̎e
			if(shotCount%2==0)
			{
				angle=rand(-10,10);
				PlaySE("sePlayerShot01.wav");
				if(bom==true){
				MainShot(angle,7.5);
				} else {MainShot(angle,5);}
			}
		}
		else
		{	//ړ̎e
			if(shotCount%2==0)
			{
				angle=rand(-15,15);
				PlaySE("sePlayerShot01.wav");
				if(bom==true){
				MainShot(angle,7.5);
				} else {MainShot(angle,5);}
			}
		}
	}

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

		if(bom==true){
			imgAngle=imgAngle+4;
			if(imgAngle>=360){
				imgAngle=0;
			}
		if(tensyon<450){
			imgAlpha=imgAlpha+5;
			imgSize=imgSize+0.02;
			if(imgAngle>=360){
				imgAngle=0;
			}
			if(imgAlpha>=155){
				imgAlpha=155;
			}
			if(imgSize>=1){
				imgSize=1;
			}
			}
		if(tensyon>=450&&tensyon<500){
			imgAlpha=imgAlpha-3;
			imgSize=imgSize-0.02;
			}
		if(tensyon==450){
			PlaySE("seSuperNaturalBorder2.wav");
			}
		if(tensyon==500){
			bom=false;
			tensyon=0;
			imgAngle=0;
			imgAlpha=0;
			imgSize=0;
			}
		tensyon++
		}
		SetIntersectionCircle(GetPlayerX,GetPlayerY,1.5);//蔻o^	
		yield;
	}

task MainShot(SX,SD){
	let obj = Obj_Create(OBJ_SHOT);
	Obj_SetPosition(obj,GetPlayerX,GetPlayerY-10);
	Obj_SetSpeed(obj,12);
	Obj_SetAngle(obj,270+SX);
	ObjShot_SetDamage(obj,SD);
	ObjShot_SetPenetration(obj,2);
	ObjShot_SetGraphic(obj,1);
	Obj_SetAlpha(obj,200);
}

	@Missed{
			bom=false;
			tensyon=0;
			imgAngle=0;
			imgAlpha=0;
			imgSize=0;
		}

	@SpellCard
	{
		if(bom==false){
			UseSpellCard("Roufu",true);
			CutIn(KOUMA,"TuT̙Kv",CutMomiji);
			bom=true;
			} else {
			UseSpellCard("Gaken",true);
			CutIn(KOUMA,"匕uHؔTav",CutMomiji);
			tensyon=449;
			imgAlpha=155;
			imgSize=2;
			}
	}
	
	@DrawLoop
	{
		SetAlpha(imgAlpha);
		SetColor(255,0,0);
		SetRenderState(ALPHA);
		SetGraphicAngle(0,0,imgAngle);
		SetGraphicScale(imgSize,imgSize);
		SetTexture(imgMomiji);
		SetGraphicRect(56,40,119,103);
		DrawGraphic(GetPlayerX(),GetPlayerY());
		SetGraphicAngle(0,0,-imgAngle);
		SetGraphicScale(2-imgSize,2-imgSize);
		DrawGraphic(GetPlayerX(),GetPlayerY());

		SetAlpha(255);
		SetColor(255,255,255);
		SetGraphicScale(1,1);
		SetGraphicAngle(0,0,0);
		if(GetKeyState(VK_LEFT)==KEY_PUSH || GetKeyState(VK_LEFT)==KEY_HOLD)
		{
			SetGraphicRect(40,0,79,38);
		}
		else if(GetKeyState(VK_RIGHT)==KEY_PUSH || GetKeyState(VK_RIGHT)==KEY_HOLD)
		{
			SetGraphicRect(80,0,119,38);
		}
		else 
		{
			SetGraphicRect(0,0,39,38);
		}
		DrawGraphic(GetPlayerX(),GetPlayerY());	
	}
	
	@Finalize
	{
		DeleteGraphic(imgMomiji);
	}
}

}

script_spell Roufu
{
	let current = GetCurrentScriptDirectory();
	let bom = current~"se\BOM2.wav";
	let i = 0;
	let angle = 5;
	@Initialize
	{
		SetPlayerInvincibility(150);//GԂݒ
		shoot;
	}
	@MainLoop
	{
		CollectItems;
		yield;
	}
	@Finalize
	{
	}


task shoot{
	loop(50){yield;}
	PlaySE(bom);
     	SetSpeed(0,0);
	loop(40){
	if(GetPlayerY>=452){
     	SetPlayerY(454);
		} else 
	if(GetPlayerY<452){
     	SetPlayerY(GetPlayerY+2);
		}
        	let i = 0;
        	while(i<6)
        	{
        	ShotA(i*60+rand(0,360),angle);
        	i++;
		}
     	angle+=15;
	if(GetPlayerY>=452){
     	SetPlayerY(454);
		} else 
	if(GetPlayerY<452){
     	SetPlayerY(GetPlayerY+2);
		}
        	let i = 0;
        	while(i<6)
        	{
        	ShotA(i*60+rand(0,360),angle);
        	i++;
		}
     	angle+=15;
	yield;}
     	SetSpeed(5,2);
	loop(50){yield;}
	End;
}

    	task ShotA(angle,speed){
		let r = 0;
		let obj = Obj_Create(OBJ_SHOT);
		Obj_SetPosition(obj,GetPlayerX,GetPlayerY-speed);
		Obj_SetSpeed(obj,5);
		ObjShot_SetDamage(obj,0.3);
		ObjShot_SetPenetration(obj,10000);
		ObjShot_SetGraphic(obj,2);
		ObjShot_SetDelay(obj,0);


	loop(10){
		Obj_SetAngle(obj,angle);
		angle=angle+30;
		yield;}
	loop(10){
		Obj_SetAngle(obj,angle);
		angle=angle+10;
		yield;}
		}
}

script_spell Gaken
{
	let current = GetCurrentScriptDirectory();
	let i = 0;
	let angle = 5;
	@Initialize
	{
		SetPlayerInvincibility(200);//GԂݒ
		shoot;
	}
	@MainLoop
	{
		CollectItems;
		yield;
	}
	@Finalize
	{
	}


task shoot{
	loop(50){yield;}
     	SetSpeed(0,0);
	loop(90){
		PlaySE("seSuperNaturalBorder1.wav");
        	angle=rand(0,360);
        	let i = 0;
        	while(i<2)
        	{
        	LShot(angle,i*180+angle);
        	LShot(angle+180,i*180+angle);
        	i++;
		}
        	let i = 0;
        	while(i<4)
        	{
        	ShotA(i*90+angle);
        	ShotA(i*90+angle+180);
        	i++;
		}
	yield;}
     	SetSpeed(5,2);
	loop(50){yield;}
	End;
}

    	task ShotA(angle){
		let speed = 0;
		let obj = Obj_Create(OBJ_SHOT);
		Obj_SetPosition(obj,GetPlayerX+cos(angle)*60,GetPlayerY+sin(angle)*60);
		Obj_SetSpeed(obj,10);
		ObjShot_SetDamage(obj,1);
		Obj_SetAngle(obj,angle);
		ObjShot_SetPenetration(obj,10000);
		ObjShot_SetGraphic(obj,2);
		ObjShot_SetDelay(obj,0);
	loop(20){
		Obj_SetSpeed(obj,10-speed);
		speed+=0.3;
		yield;}
		}

    	task LShot(angleA,angleB){
		let r = 0;
		let obj = Obj_Create(OBJ_LASER);
		Obj_SetPosition(obj,GetPlayerX+cos(angleA)*60,GetPlayerY+sin(angleA)*60);
		ObjLaser_SetLength(obj,750);
		ObjLaser_SetWidth(obj,10);
		ObjLaser_SetSource(obj,false);
		Obj_SetAngle(obj,angleB+90);
		ObjShot_SetDamage(obj,0.5);
		ObjShot_SetPenetration(obj,10000);
		ObjShot_SetGraphic(obj,3);
		ObjShot_SetDelay(obj,0);
	loop(10){yield;}
		ObjShot_FadeDelete(obj)
		}
}