#e[Player]	//@XNvgł邱Ƃ܂
#ScriptVersion[2]	//XNvgo[W2K{ł
#Menu[LX]		//@Iʂŕ\郁j[ł
#Text[Ver.1.00
CF΂̔I
{@FunCsv
UЗ́F
Ú͈F`
xF
ᑬxF
\́FXs
E[U[L[ō]A
@ӂ̓GeU蕥
]	//@Iʂŕ\eLXgł
#Image[.\img\image_Kisume.png]
#ReplayName[Kisume]	//vCIɕ\镶łB8ȓłB

script_player_main
{
	let current = GetCurrentScriptDirectory();//JgfBNg擾
	let imgKisume = current~"img\Kisume.png";
	let CutKisume = current~"img\cutin_Kisume.png";
	let air = current~"se\SE01.wav";
	let shotCount = -1;//eAŔ˂邽߂̕ϐ
	let bNextShot = false;//񉟂łeA˂邽߂̕ϐ(Â炢)
	let SubShot = false;
	let Spin = false;
	let Scount = 0;
	let Lcount = 0;
	let IDOU = 0;
	let ANIME_A = 0;
	let ANIME_B = 0;
	let imgAngle = 0;
	let imgAlpha = 0;
	let imgSize = 0;

	@Initialize
	{	
		//@̏Ɉ񂾂Ăяo镔ł
		SetPlayerLifeImage(imgKisume,0,64,31,95);//c@̉摜
		LoadGraphic(imgKisume);
		SetSpeed(4,1);//ړxݒ
		SetRibirthFrame(7);
		SetInitialBombCount(3);
		LoadPlayerShotData(current~"KisumeShotData.txt");
		SetItemCollectLine(140);//ACeCݒ
	}
	
	@MainLoop
	{
		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(Spin==false){
		if(GetKeyState(VK_SLOWMOVE)==KEY_PUSH||GetKeyState(VK_SLOWMOVE)==KEY_HOLD)
		{	//ᑬړ̎e
			if(shotCount%3 == 0)
			{
				PlaySE("sePlayerShot01.wav");
				MainShot(12,-4,268);
				MainShot(4,-8,269);
				MainShot(-4,-8,271);
				MainShot(-12,-4,272);
			}
		}
		else
		{	//ړ̎e
			if(shotCount%3 == 0)
			{
				PlaySE("sePlayerShot01.wav");
				MainShot(12,-4,271);
				MainShot(4,-8,270);
				MainShot(-4,-8,270);
				MainShot(-12,-4,269);
			}
		}
		} else if(Spin==true){
			if(shotCount%2 == 0)
			{
			PlaySE("sePlayerShot01.wav");
			MainShot(0,0,rand(0,360));
			MainShot(0,0,rand(0,360));
			MainShot(0,0,rand(0,360));
			MainShot(0,0,rand(0,360));
			MainShot(0,0,rand(0,360));
			MainShot(0,0,rand(0,360));
			}
		}
		if(GetKeyState(VK_USER)==KEY_PUSH&&Spin==false&&Lcount>=300){//[U[L[
			SENKAI;
			Spin = true;
		}

		if(Lcount==300){
			PlaySE("seSuperNaturalBorder2.wav");
		}

		if(Lcount>=300){
			imgAngle=imgAngle+4;
			imgAlpha=imgAlpha+5;
			imgSize=imgSize+0.02;
			if(imgAngle>=360){
				imgAngle=0;
			}
			if(imgAlpha>=155){
				imgAlpha=155;
			}
			if(imgSize>=1){
				imgSize=1;
			}
		}
		if(shotCount >= 0)
		{
			shotCount++;
		}
		if(shotCount == 30)
		{
			shotCount=-1;
		}
		} else {shotCount=-1;}
		if(Spin==true){
			Lcount=0;
			ANIME_B=32;
			Scount++;
			ANIME_A++;
			imgAngle=imgAngle+4;
			imgSize=imgSize-0.02;
			imgAlpha=imgAlpha-5;
			if(imgAngle>=360){
				imgAngle=0;
			}
			if(imgAlpha<=0){
				imgAlpha=0;
			}
			if(imgSize<=0){
				imgSize=0;
			}
			if(ANIME_A>=4){
				ANIME_A=0;
			}
			if(Scount>=160){
				Scount=0;
				Spin=false;
				ANIME_A=0;
				ANIME_B=0;
				imgAngle=0;
				imgAlpha=0;
				imgSize=0;
			}
		}
		SetIntersectionCircle(GetPlayerX,GetPlayerY,1.5);//蔻o^
		Lcount++;	
		yield;
	}


task SENKAI{
	SetPlayerInvincibility(150);
	SenkaiShot;
	PlaySE(air);
	}

task MainShot(SX,SY,Sangle){
	let dAngle = 0;
	let obj = Obj_Create(OBJ_SHOT);
	Obj_SetPosition(obj,GetPlayerX+SX,GetPlayerY+SY);
	Obj_SetSpeed(obj,7);
	Obj_SetAngle(obj,Sangle);
	ObjShot_SetDamage(obj,3);
	ObjShot_SetPenetration(obj,1);
	ObjShot_SetGraphic(obj,1);
	Obj_SetAlpha(obj,155);
}

task SenkaiShot{
	let i=1;
	let OnPlayerMissed=false;
	let obj = Obj_Create(OBJ_SHOT);
	Obj_SetPosition(obj,GetPlayerX,GetPlayerY);
	ObjShot_SetDamage(obj,5);
	ObjShot_SetPenetration(obj,10000);
	ObjShot_SetGraphic(obj,3);
	Obj_SetAlpha(obj,150);

	loop(75){
	Obj_SetPosition(obj,GetPlayerX,GetPlayerY);
	Obj_SetAlpha(obj,150-i*2);
	Obj_SetAngle(obj,i*20);
	DeleteEnemyShotImmediatelyInCircle(SHOT,GetPlayerX,GetPlayerY,30);
	i++;
	yield;}
	Obj_Delete(obj);
}

	@Missed{
		}

	@SpellCard
	{	
		UseSpellCard("Takifu",true);
		CutIn(KOUMA,"unCsv",CutKisume);
	}
	
	@DrawLoop
	{
		SetAlpha(imgAlpha);
		SetColor(255,0,0);
		SetRenderState(ALPHA);
		SetGraphicAngle(0,0,imgAngle);
		SetGraphicScale(imgSize,imgSize);
		SetTexture(imgKisume);
		SetGraphicRect(128,0,191,63);
		DrawGraphic(GetPlayerX(), GetPlayerY());
		SetRenderState(ALPHA);
		SetGraphicAngle(0,0,-imgAngle);
		SetGraphicScale(2-imgSize,2-imgSize);
		SetTexture(imgKisume);
		SetGraphicRect(128,0,191,63);
		DrawGraphic(GetPlayerX(), GetPlayerY());

		SetAlpha(255);
		SetColor(255,255,255);
		SetRenderState(ALPHA);
		SetGraphicAngle(0,0,IDOU);
		SetGraphicScale(1,1);
		SetTexture(imgKisume);
		SetGraphicRect(0+ANIME_B,0+ANIME_A*32,31+ANIME_B,31+ANIME_A*32);
		if(GetKeyState(VK_LEFT)==KEY_PUSH || GetKeyState(VK_LEFT)==KEY_HOLD)
		{
		if(IDOU>=-20){IDOU=IDOU-1;}
		}
		else if(GetKeyState(VK_RIGHT)==KEY_PUSH || GetKeyState(VK_RIGHT)==KEY_HOLD)
		{
		if(IDOU<=20){IDOU=IDOU+1;}
		}
		else 
		{
		if(IDOU>0)
		{IDOU=IDOU-1;}else if(IDOU<0){IDOU=IDOU+1;}
		}
		DrawGraphic(GetPlayerX(), GetPlayerY());	
	}
	
	@Finalize
	{
		DeleteGraphic(imgKisume);
	}
}

}

script_spell Takifu
{
	@Initialize
	{
		SetPlayerInvincibility(220);
		shoot;
	}
	@MainLoop
	{
		CollectItems;
		yield;
	}
	@Finalize
	{
	}


task shoot{
	loop(50){yield;}
	let i=1;
	loop(20){
	Sshot(224+i*rand(5,10));
	Sshot(448-(224+i*rand(5,10)));
	i++;
	yield;}
	loop(20){
	Sshot(224+i*rand(5,10));
	Sshot(448-(224+i*rand(5,10)));
	i--;
	yield;}
	loop(20){
	Sshot(224+i*rand(5,10));
	Sshot(448-(224+i*rand(5,10)));
	i++;
	yield;}
	loop(20){
	Sshot(224+i*rand(5,10));
	Sshot(448-(224+i*rand(5,10)));
	i--;
	yield;}
	loop(20){
	Sshot(224+i*rand(5,10));
	Sshot(448-(224+i*rand(5,10)));
	i++;
	yield;}
	loop(20){
	Sshot(224+i*rand(5,10));
	Sshot(448-(224+i*rand(5,10)));
	i--;
	yield;}
	loop(50){yield;}
	End;
}

task Sshot(WX){
	let obj = Obj_Create(OBJ_SHOT);
	let time = rand(85,95);
	Obj_SetPosition(obj,WX,0);
	Obj_SetAngle(obj,time);
	Obj_SetSpeed(obj,rand(5,10));
	ObjShot_SetDamage(obj,0.5);
	ObjShot_SetPenetration(obj,10);
	ObjShot_SetGraphic(obj,2);
	Obj_SetAlpha(obj,155);
	PlaySE("seSuperNaturalBorder1.wav");

	while(!Obj_BeDeleted(obj)){
		if(Obj_IsIntersected(obj)){
			Obj_SetSpeed(obj,2.5);
			ObjShot_FadeDelete(obj);
			}
		yield;
		}
}
}
}