#e[Player]	//@XNvgł邱Ƃ܂
#ScriptVersion[2]	//XNvgo[W2K{ł
#Menu[`m ᕄ VbgK]//@Iʂŕ\郁j[ł
#Text[
ړÚ
ᑬړÚ
ʏU͈    
{U      
{U͈    
]	//@Iʂŕ\eLXgł
#Image[]	//@Iʂŕ\摜t@Cւ̃pXł
#ReplayName[cirnoA]	//vCIɕ\镶łB8ȓłB


script_player_main
{

	let cmx=GetClipMinX;//Xŏ
	let cmX=GetClipMaxX;//Xő
	let cmy=GetClipMinY;//Yŏ
	let cmY=GetClipMaxY;//Yő
		
	let shotSE ="sePlayerShot01.wav";
	let REIGEKISE = GetCurrentScriptDirectory()~"freeze10.wav";
	let BombSE = GetCurrentScriptDirectory()~"tm2_gun000.wav";
	let SpellSE=  GetCurrentScriptDirectory()~"don10_a.wav";
	let shotCount = -1;
	let Reigeki = true; //⌂ď[U
	let imgPlayer = GetCurrentScriptDirectory()~"img\player_cirno.png";
	let gazeeffect = GetCurrentScriptDirectory()~"img\gazeeffect.png";
	let EffectA = GetCurrentScriptDirectory()~"img\effect_tiny.png";
	let EffectB = GetCurrentScriptDirectory()~"img\back05_06.png";
	let EffectC = GetCurrentScriptDirectory()~"img\effect_circle.png";
	let imgSpell = GetCurrentScriptDirectory()~"img\imgSpell.png";
		
	let S_obj1 = Obj_Create(OBJ_EFFECT);//X[GtFNgY΍p
	let S_obj2 = Obj_Create(OBJ_EFFECT);
	let S_obj3 = Obj_Create(OBJ_EFFECT);
	let SlowEffectObj = [S_obj1,S_obj2,S_obj3];
	@Initialize
	{	
		//@̏Ɉ񂾂Ăяo镔ł

		//[h-----------------------------------------------------------
		LoadSE(shotSE);
		LoadSE(REIGEKISE);
		LoadSE(BombSE);
		LoadSE(SpellSE);
		LoadGraphic(imgPlayer);
		LoadGraphic(gazeeffect);
		LoadGraphic(EffectA);
		LoadGraphic(EffectB);
		LoadGraphic(EffectC);
		LoadGraphic(imgSpell);
		LoadPlayerShotData(GetCurrentScriptDirectory~"img\cirnoShotData.txt");
		//[h܂----------------------------------------------------
		SetInitialBombCount(2);			//{
		SetRebirthFrame(8);			//H炢{Lt[
		SetRebirthFrameReduction(0);		//H炢{Lt[
		SetSpeed(4.5, 2);			//ړxݒ
		SetGrazeCircle(50);			//蔻
		SetPlayerLifeImage(imgPlayer,0, 1, 48, 50);//c@̉摜
		SetItemCollectLine(150);//ACeCݒ

		SlowEffect;//ᑬGtFNg
 		option;//IvV
		Shot;//Vbg
		//Reigeki_Switch_Gaze;//⌂Q[W
		Reigeki_Switch_Mark;//⌂}[N
	}
	
	@MainLoop
	{	
		//t[s镔ł
		//
		yield;
		if(GetCommonData("ResultTime") == 1){break;}
		SetIntersectionCircle(GetPlayerX, GetPlayerY, 1);//蔻o^
		if(GetCommonData("C") < 100 && Reigeki == true && GetCommonData("REIGEKI") == false){//⌂njTC
			PlaySE(REIGEKISE);
			SetCommonData("REIGEKI",true); 
		}
		if(GetKeyState(VK_BOMB )==KEY_PUSH ){
			if(GetCommonData("REIGEKI") == true && Reigeki == true){
				UseSpellCard("REIGEKIFreez",0);//XyƂĈȂ⌂
				Reigeki_Switch;//Xy̗⌂𔭓Ȃ
			}
		}

	}
	@Missed{
		let C = GetCommonData("C");
		let I = GetCommonData("GetIce");
		if(C>0){SetCommonData("C",C-14);}//Cቺ
		if(I > 0){SetCommonData("GetIce",GetCommonData("GetIce")-1000);}//őXRAቺ
	}
	@SpellCard
	{	
		if(GetCommonData("ResultTime") == 1){
			AddBomb(1);
			break;
		}
		if(GetCommonData("REIGEKI") == true && Reigeki == true){//炢⌂
			UseSpellCard("REIGEKIFreez",0);
			Reigeki_Switch;
			AddBomb(1);	//{ȏ゠ƂɌȂ悤ɂ
			SetCommonData("GetIce",GetCommonData("GetIce")-10000);//őXRAቺ
		}
		else{
			let C = GetCommonData("C");
			if(C>600){SetCommonData("C",C-500);}//Cቺ
			else{SetCommonData("C",0);}
			SetCommonData("GetIce",GetCommonData("GetIce")-20000);//őXRAቺ
			UseSpellCard("ParfectFreez",0);	
			SpellName;//Xy\
		}

	}

	task Reigeki_Switch{//莞ԗ⌂֎~
		Reigeki = false;
		loop(120){yield;}
		Reigeki = true;
	}

	task  Reigeki_Switch_Gaze{//⌂Q[W
		let C = GetCommonData("C");
		let Sca=0;
		let a=255;
     		let obj=Obj_Create(OBJ_EFFECT);
		ObjEffect_SetTexture(obj,gazeeffect);
		ObjEffect_SetPrimitiveType(obj,PRIMITIVE_TRIANGLESTRIP);
		ObjEffect_CreateVertex(obj,4);
		ObjEffect_SetVertexXY(obj,0,  0,-2);
		ObjEffect_SetVertexXY(obj,1, 42,-2);
		ObjEffect_SetVertexXY(obj,2,  0, 2);
		ObjEffect_SetVertexXY(obj,3, 42, 2);
		ObjEffect_SetVertexUV(obj,0,4,6);
		ObjEffect_SetVertexUV(obj,1,5,6);
		ObjEffect_SetVertexUV(obj,2,4,7);
		ObjEffect_SetVertexUV(obj,3,5,7);
		Obj_SetPosition(obj,cmx+6,cmY-26);
		while( !Obj_BeDeleted(obj) ){
			if(GetPlayerX<=cmx+120&&GetPlayerY>=cmY-60){a=96;}
			else{a=255;}
			ObjEffect_SetVertexColor(obj ,0,a,160,160,200);
			ObjEffect_SetVertexColor(obj ,1,a,205,205,255);
			ObjEffect_SetVertexColor(obj ,2,a,160,160,200);
			ObjEffect_SetVertexColor(obj ,3,a,205,205,255);
			if(Reigeki == true){
				Sca=0;
				ObjEffect_SetScale(obj,1,1);
			}
			else{
				ObjEffect_SetScale(obj,Sca,1);
				Sca+=1/1200;
			}
			yield;
		}
		Obj_Delete(obj);
	}

	task Reigeki_Switch_Mark{//⌂}[N
		let a=0;
		let angle=0;
     		let obj=Obj_Create(OBJ_EFFECT);
		ObjEffect_SetTexture(obj,EffectA);
		ObjEffect_SetPrimitiveType(obj,PRIMITIVE_TRIANGLESTRIP);
		ObjEffect_CreateVertex(obj,4);
		ObjEffect_SetVertexXY(obj,0,-12,-12);
		ObjEffect_SetVertexXY(obj,1, 12,-12);
		ObjEffect_SetVertexXY(obj,2,-12, 12);
		ObjEffect_SetVertexXY(obj,3, 12, 12);
		ObjEffect_SetVertexUV(obj,0, 0, 0);
		ObjEffect_SetVertexUV(obj,1,22, 0);
		ObjEffect_SetVertexUV(obj,2, 0,24);
		ObjEffect_SetVertexUV(obj,3,22,24);
		Obj_SetPosition(obj,cmx+14,cmY-32);
		while( !Obj_BeDeleted(obj) ){
			if(GetPlayerX<=cmx+120&&GetPlayerY>=cmY-60){a=96;}
			else{a=255;}
			if(GetCommonData("REIGEKI") != true || Reigeki != true){
				a=0;
			}
			ObjEffect_SetVertexColor(obj ,0,a,255,255,255);
			ObjEffect_SetVertexColor(obj ,1,a,255,255,255);
			ObjEffect_SetVertexColor(obj ,2,a,255,255,255);
			ObjEffect_SetVertexColor(obj ,3,a,255,255,255);
			ObjEffect_SetAngle(obj,0,angle,0);
			angle+=6;
			yield;
		}
		Obj_Delete(obj);
	}

	task SpellName{//Xy\
		let Sca=1.2;
		let Y=80;
		let A=128;
     		let obj=Obj_Create(OBJ_EFFECT);
		Obj_SetAutoDelete(obj,false);
		ObjEffect_SetTexture(obj,imgSpell);
		ObjEffect_SetPrimitiveType(obj,PRIMITIVE_TRIANGLESTRIP);
		ObjEffect_CreateVertex(obj,4);
		ObjEffect_SetVertexXY(obj,0,-128,-16);
		ObjEffect_SetVertexXY(obj,1, 128,-16);
		ObjEffect_SetVertexXY(obj,2,-128, 16);
		ObjEffect_SetVertexXY(obj,3, 128, 16);
		ObjEffect_SetVertexUV(obj,0,  0, 0);
		ObjEffect_SetVertexUV(obj,1,256, 0);
		ObjEffect_SetVertexUV(obj,2,  0,32);
		ObjEffect_SetVertexUV(obj,3,256,32);
		loop(20){
			A+=127/20;
			Sca-=0.2/20;
			ObjEffect_SetVertexColor(obj,0,A,255,255,255);
			ObjEffect_SetVertexColor(obj,1,A,223,223,255);
			ObjEffect_SetVertexColor(obj,2,A,96,96,255);
			ObjEffect_SetVertexColor(obj,3,A,64,64,255);
			ObjEffect_SetScale(obj,Sca,Sca);
			Obj_SetPosition(obj,GetCenterX-50,GetCenterY+Y);
			yield;
		}
		loop(50){yield;}
		loop(35){
			Obj_SetPosition(obj,GetCenterX-50,GetCenterY+Y);
			Y+=3;
			yield;
		}
		loop(50){yield;}
		Obj_Delete(obj);
	}
	@DrawLoop
	{
		//`惋[vBXLbvȂ1t[1s܂
		SetColor(255, 255, 255);//@OtBbN
		SetRenderState(ALPHA);
		SetTexture(imgPlayer);
		if(GetKeyState(VK_LEFT)==KEY_PUSH || GetKeyState(VK_LEFT)==KEY_HOLD)
		{
			SetGraphicRect(0, 51, 48, 96);
		}
		else if(GetKeyState(VK_RIGHT)==KEY_PUSH || GetKeyState(VK_RIGHT)==KEY_HOLD)
		{
			SetGraphicRect(0, 97, 48, 144);
		}
		else 
		{
			SetGraphicRect(0, 1, 48, 50);
		}
		DrawGraphic(GetPlayerX(), GetPlayerY());
		Obj_SetPosition(SlowEffectObj[0],GetPlayerX, GetPlayerY);
		Obj_SetPosition(SlowEffectObj[1],GetPlayerX, GetPlayerY);
		Obj_SetPosition(SlowEffectObj[2],GetPlayerX, GetPlayerY);
	}
	
	@Finalize
	{
		//XNvgIɈ񂾂Ăяo镔ł
		DeleteGraphic(imgPlayer);
	}
	#include_function".\shot.txt"
	#include_function".\option.txt"
	#include_function".\localdata.txt"

}

#include_script".\Spell.txt"
#include_script".\REIGEKI.txt"

