	#e[Player]	//@XNvgł邱Ƃ܂
	#ScriptVersion[2]	//XNvgo[W2K{ł
	#Menu[ΉL with]rtFA[]	//@Iʂŕ\郁j[ł
	#Text[ΕuΑ̌}v
Z\uLbcEH[Nv]//@Iʂŕ\eLXgł
	#Image[.\cut_in.png]//@Iʂŕ\摜t@Cւ̃pXł
	#ReplayName[Orin]//vCIɕ\镶łB8ȓłB
	
script_player_main
{
let GCP=GetCurrentScriptDirectory;
let bNextShot = false;//񉟂łeA˂邽߂̕ϐ(Â炢)
let shotCount = -1;//eAŔ˂邽߂̕ϐ
let OPtype=0;
let coll=Obj_Create(OBJ_EFFECT);
let coll_alp=0;

SetCommonData("GCP",GetCurrentScriptDirectory);
	@Initialize
	{
	SetSpeed(5, 2.5);//ړxݒ
	SetGrazeCircle(50);
	LoadGraphic(GCP~ ".\Orin.png");
	LoadGraphic(GCP~ ".\life.PNG");
	SetTexture(GCP~ ".\Orin.png");
	LoadPlayerShotData(GCP~"shot_rin.txt");
	SetGraphicRect(0, 0, 32, 32);
	SetPlayerLifeImage(GCP~".\life.PNG", 1,  1, 32, 32);
        SetItemCollectLine(150);
	SetRebirthFrame(10);
	SetAutoEffect(true);
	Toption;
	Tslow(1);
	Tpause;
	Tmove;
	Tcats;
	LoadGraphic(GCP~ ".\slow.png");
	ObjEffect_SetTexture(coll,GCP~ ".\slow.png");
	ObjEffect_SetPrimitiveType(coll,PRIMITIVE_TRIANGLESTRIP);
	ObjEffect_CreateVertex(coll,4);
	ObjEffect_SetVertexXY(coll,0,-8,-8);
	ObjEffect_SetVertexXY(coll,1,8,-8);
	ObjEffect_SetVertexXY(coll,2,-8,8);
	ObjEffect_SetVertexXY(coll,3,8,8);
	ObjEffect_SetVertexUV(coll,0,0,64);
	ObjEffect_SetVertexUV(coll,1,16,64);
	ObjEffect_SetVertexUV(coll,2,0,80);
	ObjEffect_SetVertexUV(coll,3,16,80);
	}
	
	@MainLoop
	{
	SetIntersectionCircle(GetPlayerX, GetPlayerY, 0);//蔻o^
		//t[s镔ł
	if((GetKeyState(VK_SHOT)==KEY_PUSH || GetKeyState(VK_SHOT)==KEY_HOLD) && shotCount==-1)
		{
		shotCount = 0;
		bNextShot = false;
		}
	if(OnMissed==false)
		{
		if(shotCount%5 == 0)
			{
			PlaySE("sePlayerShot01.wav");
			CreatePlayerShot01(GetPlayerX, GetPlayerY, 15, 265, 1.8, 3, 1);
			CreatePlayerShot01(GetPlayerX, GetPlayerY, 15, 270, 1.8, 3, 1);
			CreatePlayerShot01(GetPlayerX, GetPlayerY, 15, 275, 1.8, 3, 1);
			}
		}
	if(shotCount >= 0){shotCount=shotCount+1};
	if(shotCount == 45){shotCount=-1};
	if(GetKeyState(VK_SLOWMOVE)==KEY_HOLD || GetKeyState(VK_SLOWMOVE)==KEY_PUSH){OPtype=1;}
	else{OPtype=0;}
	if(GetKeyState(VK_SHOT)==KEY_PUSH && GetKeyState(VK_SLOWMOVE)==KEY_PUSH){OPtype=(OPtype+1)%5};
	yield;
	}
	@Missed
	{
	
	MainLoop;
		//@Ď"@MainLoop"̑ɌĂ΂܂
		//MainLoopƓł悯
		//@Missed{MainLoop}
		//Ƃ΁A@MainLoopƓɂȂ܂B
		//AĎɓeĂƕςȂ̂
		//OnMissed֐ŌĒ𔻒fĂ
	}
	@SpellCard
	{
	UseSpellCard("wheel",-90);
	UseSpellCard("wheel",30);
	UseSpellCard("wheel",150);
        CutIn(YOUMU, "ΕuΑ̌}v",GCP~".\cut_in.png");
	}
	@DrawLoop
	{
	ObjEffect_SetVertexColor(coll,0,coll_alp,255,255,255);
	ObjEffect_SetVertexColor(coll,1,coll_alp,255,255,255);
	ObjEffect_SetVertexColor(coll,2,coll_alp,255,255,255);
	ObjEffect_SetVertexColor(coll,3,coll_alp,255,255,255);
	Obj_SetPosition(coll,GetPlayerX,GetPlayerY);
	DrawGraphic(GetPlayerX,GetPlayerY);
		//`惋[vBXLbvȂ1t[1s܂
	}
	
	@Finalize
	{
		//XNvgIɈ񂾂Ăяo镔ł
	}

task Toption
{
loop(10){yield;}
Tfairy(GetCenterX-75,GetClipMaxY-300,20);
loop(20){yield;}
Tfairy(GetCenterX+75,GetClipMaxY-250,-10);
loop(20){yield;}
Tfairy(GetCenterX-150,GetClipMaxY-200,10);
loop(20){yield;}
Tfairy(GetCenterX+150,GetClipMaxY-150,-20);
}

let recty=0;
task Tpause
{
loop
	{
	recty=0;
	if(GetKeyState(VK_LEFT)==KEY_PUSH || GetKeyState(VK_LEFT)==KEY_HOLD){recty=32};
	if(GetKeyState(VK_RIGHT)==KEY_PUSH || GetKeyState(VK_RIGHT)==KEY_HOLD){recty=64};
	yield;
	}
}

task Tmove
{
loop
	{
	SetGraphicRect(0, recty, 32, recty+32);
	loop(8){yield};
	SetGraphicRect(32, recty, 64, recty+32);
	loop(8){yield};
	SetGraphicRect(64, recty, 96, recty+32);
	loop(8){yield};
	SetGraphicRect(32, recty, 64, recty+32);
	loop(8){yield};
	}
}

#include_function".\fairy.txt"

task Tslow(left)
{
let angle=0;
loop
	{
	while(GetKeyState(VK_SLOWMOVE)==KEY_FREE||GetKeyState(VK_SLOWMOVE)==KEY_PULL){yield;}
	LoadGraphic(GCP~ ".\slow.png");
	let slow=Obj_Create(OBJ_EFFECT);
	ObjEffect_SetTexture(slow,GCP~ ".\slow.png");
	ObjEffect_SetPrimitiveType(slow,PRIMITIVE_TRIANGLESTRIP);
	ObjEffect_CreateVertex(slow,4);
	ObjEffect_SetVertexXY(slow,0,-32,-32);
	ObjEffect_SetVertexXY(slow,1,32,-32);
	ObjEffect_SetVertexXY(slow,2,-32,32);
	ObjEffect_SetVertexXY(slow,3,32,32);
	ObjEffect_SetVertexUV(slow,0,0,0);
	ObjEffect_SetVertexUV(slow,1,64,0);
	ObjEffect_SetVertexUV(slow,2,0,64);
	ObjEffect_SetVertexUV(slow,3,64,64);
	ObjEffect_SetVertexColor(slow,0,150,255,255,255);
	ObjEffect_SetVertexColor(slow,1,150,255,255,255);
	ObjEffect_SetVertexColor(slow,2,150,255,255,255);
	ObjEffect_SetVertexColor(slow,3,150,255,255,255);
	ObjEffect_SetScale(slow,2,2);
	let slow2=Obj_Create(OBJ_EFFECT);
	ObjEffect_SetTexture(slow2,GCP~ ".\slow.png");
	ObjEffect_SetPrimitiveType(slow2,PRIMITIVE_TRIANGLESTRIP);
	ObjEffect_CreateVertex(slow2,4);
	ObjEffect_SetVertexXY(slow2,0,-32,-32);
	ObjEffect_SetVertexXY(slow2,1,32,-32);
	ObjEffect_SetVertexXY(slow2,2,-32,32);
	ObjEffect_SetVertexXY(slow2,3,32,32);
	ObjEffect_SetVertexUV(slow2,0,0,0);
	ObjEffect_SetVertexUV(slow2,1,64,0);
	ObjEffect_SetVertexUV(slow2,2,0,64);
	ObjEffect_SetVertexUV(slow2,3,64,64);
	ObjEffect_SetVertexColor(slow2,0,150,255,255,255);
	ObjEffect_SetVertexColor(slow2,1,150,255,255,255);
	ObjEffect_SetVertexColor(slow2,2,150,255,255,255);
	ObjEffect_SetVertexColor(slow2,3,150,255,255,255);
	ObjEffect_SetScale(slow2,2,2);
	let scale=2;
	while(GetKeyState(VK_SLOWMOVE)==KEY_HOLD||GetKeyState(VK_SLOWMOVE)==KEY_PUSH)
		{
		Obj_SetPosition(slow,GetPlayerX-0.5,GetPlayerY);
		Obj_SetPosition(slow2,GetPlayerX-0.5,GetPlayerY);
		if(scale>1)
			{
			scale=scale-0.1;
			ObjEffect_SetScale(slow,scale,scale);
			ObjEffect_SetScale(slow2,scale,scale);
			}
		else{angle=(angle+left)%360;}
		ObjEffect_SetAngle(slow,0,0,angle*0.75);
		ObjEffect_SetAngle(slow2,0,0,-angle);
		coll_alp=255;
		yield;
		}
	Obj_Delete(slow);
	Obj_Delete(slow2);
	coll_alp=0;
	}
}

task Tcats
{
let hspeed=8;
loop
	{
	if(GetKeyState(VK_UP)==KEY_PUSH||GetKeyState(VK_DOWN)==KEY_PUSH||GetKeyState(VK_LEFT)==KEY_PUSH||GetKeyState(VK_RIGHT)==KEY_PUSH){hspeed=8.0;}
	else if(hspeed>=2.0){hspeed=hspeed-0.2;}
	SetSpeed(hspeed,2.5);
	yield;
	}
}

}

script_spell wheel
{
let GCP=GetCurrentScriptDirectory;
let time=0;
let CX=GetPlayerX;
let CY=GetPlayerY;
	@Initialize
	{
	Tmain;
	}
	@MainLoop
	{
	yield;
	}
	@Finalize
	{
	}

task Tmain
{ 
let angle=0;
let rad=50;
let left=1;
let pat=0;
let way=8;
loop(3)
	{
	loop(way)
		{
		Tfire(rad,angle,pat,left);
		pat=(pat+1)%3;
		angle=angle+360/way;
		}
	angle=angle+180/way;
	left=left*-1;
	rad=rad+30;
	}
SetPlayerInvincibility(300);
loop(80)
	{
	time=time+0.5;
	yield;
	}
let speed=0;
angle=GetArgument;
loop(60)
	{
	speed=speed+0.04;
	CX=CX+speed*cos(angle);
	CY=CY+speed*sin(angle);
	yield;
	}
loop(200)
	{
	CX=CX+speed*cos(angle);
	CY=CY+speed*sin(angle);
	yield;
	}
End;
}

task Tfire(rad,angle,pat,left)
{
let speed=4;

let fire=Obj_Create(OBJ_EFFECT);
LoadGraphic(GCP~".\shot_rin.png");
ObjEffect_SetTexture(fire,GCP~".\shot_rin.png");
ObjEffect_SetPrimitiveType(fire,PRIMITIVE_TRIANGLESTRIP);
ObjEffect_CreateVertex(fire,4);
ObjEffect_SetVertexXY(fire,0,-8,-8);
ObjEffect_SetVertexXY(fire,1,8,-8);
ObjEffect_SetVertexXY(fire,2,-8,12);
ObjEffect_SetVertexXY(fire,3,8,12);
ObjEffect_SetVertexUV(fire,0,17+pat*16,0);
ObjEffect_SetVertexUV(fire,1,32+pat*16,0);
ObjEffect_SetVertexUV(fire,2,17+pat*16,20);
ObjEffect_SetVertexUV(fire,3,32+pat*16,20);
ObjEffect_SetRenderState(fire,ADD);
ObjEffect_SetAngle(fire,0,0,180);
loop
	{
	loop(4)
		{
		Obj_SetPosition(fire,CX+time/40*rad*cos(angle),CY+time/40*rad*sin(angle));
		SetIntersectionCircle(CX+time/40*rad*cos(angle),CY+time/40*rad*sin(angle),10,2,true);
		angle=angle+speed*left;
		yield;
		}
	pat=(pat+1)%3;
	ObjEffect_SetVertexUV(fire,0,18+pat*16,0);
	ObjEffect_SetVertexUV(fire,1,32+pat*16,0);	
	ObjEffect_SetVertexUV(fire,2,18+pat*16,20);
	ObjEffect_SetVertexUV(fire,3,32+pat*16,20)
	}
}

}