#e[Player]	//@XNvgł邱Ƃ܂
#ScriptVersion[2]	//XNvgo[W2K{ł
#Menu[_ց_R]		//@Iʂŕ\郁j[ł
#Text[Ver.1.00
VbgF_RXg[g
{@@Fjue̒⍄v
UЗ́F
Ú͈F
xF
ᑬxF
\́F_RT[`
@@@@@_RX}bV[
_RT[`ɓGƂ񂱂X}bVB
T[`͒ᑬړŌŒB
]	//@Iʂŕ\eLXgł
#Image[.\img\image_Ichirin.png]
#ReplayName[Ichirin]	//vCIɕ\镶łB8ȓłB

script_player_main
{
	let current = GetCurrentScriptDirectory();//JgfBNg擾
	let imgIchirin = current~"img\Ichirin.png";
	let CutIchirin = current~"img\cutin_Ichirin.png";
	let shotCount = -1;//eAŔ˂邽߂̕ϐ
	let bNextShot = false;//񉟂łeA˂邽߂̕ϐ(Â炢)
	let angle = 0;
	let Usarch = 0;
	let SarchX = 0;
	let SarchY = 0;
	let SarchLock = false;
	let SarchLockB = false;
	let shotCountB = -1;
	let bom2 = current~"se\BOM2.wav";

	@Initialize
	{	
		//@̏Ɉ񂾂Ăяo镔ł
		SetPlayerLifeImage(imgIchirin,0,1,20,46);//c@̉摜
		LoadGraphic(imgIchirin);
		LoadGraphic(CutIchirin);
		SetSpeed(4,1);//ړxݒ
		SetRibirthFrame(7);
		SetInitialBombCount(3);
		LoadPlayerShotData(current~"IchirinShotData.txt");
		SetItemCollectLine(128);//ACeCݒ
		SetRateScoreSystemEnable(false);
	}

task ID{
	ascent(i in EnumEnemyBegin..EnumEnemyEnd){
		let e=EnumEnemyGetID(i);
		let ex=GetEnemyInfo(e,ENEMY_X);
		let ey=GetEnemyInfo(e,ENEMY_Y);
		if(GetKeyState(VK_SHOT)==KEY_HOLD&&ex>=SarchX-25&&ex<=SarchX+25&&ey>=SarchY-25&&ey<=SarchY+25&&SarchLockB==false){
			UnzanShot(0,SarchY,0,3);
			UnzanShot(448,SarchY,180,4);
			SarchLockB=true;
			loop(100){yield;}
			SarchLockB=false;
			break;
			yield;
		}
	}
}

	@MainLoop
	{
		if(!OnBomb){
		//t[s镔ł
		//
		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");
			MainShot(GetPlayerX()-rand(11,13),GetPlayerY()+rand(-1,1),rand(269,271),1);
		}
		if(shotCount%6 == 3)
		{
			PlaySE("sePlayerShot01.wav");
			MainShot(GetPlayerX()+rand(11,13),GetPlayerY()+rand(-1,1),rand(269,271),2);
		}
	}
		if(shotCount >= 0)
		{
			shotCount++;
		}
		if(shotCount == 30)
		{
			shotCount=-1;
		}
		} else {shotCount=-1;}

		if(GetKeyState(VK_SLOWMOVE)==KEY_HOLD)
		{
			if(SarchLock==false)
			{
				SarchX=GetPlayerX;
				SarchY=GetPlayerY-115;
				SarchLock=true;
			}
		} else {
			if(GetPlayerY<145)
			{
				SarchX=GetPlayerX;
				SarchY=30;
			} else if(GetPlayerY>432&&GetKeyState(VK_DOWN)==KEY_HOLD){
			SarchX=GetPlayerX;
			SarchY=GetPlayerY-115+Usarch;
			Usarch=Usarch+4;
			if(Usarch>115){Usarch=115;}
			} else if(GetPlayerY>432){
			SarchX=GetPlayerX;
			SarchY=GetPlayerY-115+Usarch;
			Usarch=Usarch-4;
			if(Usarch<0){Usarch=0;}
			} else {
			SarchX=GetPlayerX;
			SarchY=GetPlayerY-115;
			}
		}
		SetIntersectionCircle(GetPlayerX,GetPlayerY,1);//蔻o^	
		ID;
		yield;
	}

	@Missed{
		}

	@SpellCard
	{	
		UseSpellCard("Gouken",true);
		CutIn(KOUMA,"jue̒⍄v",CutIchirin);
	}
	
	@DrawLoop
	{
		SetAlpha(255);
		SetColor(255,255,255);
		SetRenderState(ALPHA);
		SetGraphicAngle(0,0,0);
		SetTexture(imgIchirin);
		SetGraphicRect(68,1,83,27);
		DrawGraphic(GetPlayerX()-rand(11,13),GetPlayerY()+rand(-1,1));
		SetGraphicRect(84,1,99,27);
		DrawGraphic(GetPlayerX()+rand(11,13),GetPlayerY()+rand(-1,1));
		SetGraphicRect(100,0,145,45);
		DrawGraphic(SarchX,SarchY);

		if(GetKeyState(VK_LEFT)==KEY_PUSH||GetKeyState(VK_LEFT)==KEY_HOLD)
		{
			SetGraphicRect(23,1,43,46);
		}
		else if(GetKeyState(VK_RIGHT)==KEY_PUSH||GetKeyState(VK_RIGHT)==KEY_HOLD)
		{
			SetGraphicRect(46,1,66,46);
		}
		else 
		{
			SetGraphicRect(0,1,20,46);
		}
		DrawGraphic(GetPlayerX(),GetPlayerY());	
	}
	
	@Finalize
	{
		//XNvgIɈ񂾂Ăяo镔ł
		DeleteGraphic(imgIchirin);
	}

task MainShot(X,Y,A,G){
	let obj = Obj_Create(OBJ_SHOT);
	Obj_SetPosition(obj,X,Y);
	Obj_SetSpeed(obj,14);
	Obj_SetAngle(obj,A);
	ObjShot_SetDamage(obj,10);
	ObjShot_SetPenetration(obj,1);
	ObjShot_SetGraphic(obj,G);
	Obj_SetAlpha(obj,155);

	while(!Obj_BeDeleted(obj)){
		if(Obj_IsIntersected(obj)){
			Obj_Delete(obj);
			}
		yield;
		}
	}

task UnzanShot(X,Y,A,G){
	let obj = Obj_Create(OBJ_SHOT);
	Obj_SetPosition(obj,X,Y);
	Obj_SetSpeed(obj,10);
	Obj_SetAngle(obj,A);
	ObjShot_SetDamage(obj,2);
	ObjShot_SetPenetration(obj,10000);
	ObjShot_SetGraphic(obj,G);
	Obj_SetAlpha(obj,255);

	while(!Obj_BeDeleted(obj)){
		if(Obj_GetX(obj)<314&&Obj_GetX(obj)>134){
			SubShot2(Obj_GetX(obj),Obj_GetY(obj),A,G);
			Obj_Delete(obj);
			}
		yield;
		}
	}

task SubShot2(x,y,a,g){
	let obj = Obj_Create(OBJ_SHOT);
	let alpha = 255;
	Obj_SetPosition(obj,x,y);
	ObjShot_SetDamage(obj,2);
	Obj_SetAngle(obj,a);
	ObjShot_SetPenetration(obj,10000);
	ObjShot_SetGraphic(obj,g);
	Obj_SetAlpha(obj,255);

	PlaySE(bom2);
	loop(51){
		alpha=alpha-5;
		Obj_SetAlpha(obj,alpha);
		yield;
		}
	Obj_Delete(obj);
	}
}

script_spell Gouken
{
	let current = GetCurrentScriptDirectory();
	let bom2 = current~"se\BOM2.wav";
	let i = 0;
	@Initialize
	{
		SetPlayerInvincibility(220);//GԂݒ
		attack;
	}
	@MainLoop
	{
		CollectItems;//{̓ACeĂ
		yield;
	}
	@Finalize
	{
	}

task attack{
	loop(60){yield;}
	loop(10){
	BOMBShotA(-10,rand(20,480),rand(330,350),3);
	loop(3){yield;}
	BOMBShotA(458,rand(20,480),rand(190,210),4);
	loop(3){yield;}
	yield;}
	loop(160){yield;}
	End;
}

task BOMBShotA(X,Y,A,G){
	let obj = Obj_Create(OBJ_SHOT);
	Obj_SetPosition(obj,X,Y);
	Obj_SetSpeed(obj,20);
	Obj_SetAngle(obj,A);
	ObjShot_SetDamage(obj,3);
	ObjShot_SetPenetration(obj,10000);
	ObjShot_SetGraphic(obj,G);
	Obj_SetAlpha(obj,255);

	PlaySE(bom2);
	while(!Obj_BeDeleted(obj)){
		if(Obj_GetX(obj)<-11||Obj_GetX(obj)>459){
			SubShot2(Obj_GetX(obj),Obj_GetY(obj),A,G);
			Obj_Delete(obj);
			}
		yield;
		}
	}

task SubShot2(x,y,a,g){
	let obj = Obj_Create(OBJ_SHOT);
	let alpha = 255;
	Obj_SetPosition(obj,x,y);
	ObjShot_SetDamage(obj,3);
	Obj_SetAngle(obj,a);
	ObjShot_SetPenetration(obj,10000);
	ObjShot_SetGraphic(obj,g);
	Obj_SetAlpha(obj,255);

	loop(51){
		alpha=alpha-5;
		Obj_SetAlpha(obj,alpha);
		yield;
		}
	Obj_Delete(obj);
	}
}