#e[Player]
#ScriptVersion[2]
#Menu[Magician of the Stars - Marisa Kirisame]
#Text[High power equipment.
The shots are strong.
The shots are strong.
The shots are strong.
The shots are strong.]
#Image[.\img\Mar.png]
#ReplayName[JA_Marisa]
	
script_player_main{
    let img1       = GetCurrentScriptDirectory~".\img\marisa.png";
    let img2       = GetCurrentScriptDirectory~".\img\MarisaShot.png";
    let img3       = GetCurrentScriptDirectory~".\eff\Circle_Sqr_S.png";
    let img4       = GetCurrentScriptDirectory~".\eff\Onmyoudama.png";
    let Anime      = 0;
    let MoveAnimeL = 0;
    let MoveAnimeR = 0;
    let GetLR      = "NoData";
    let imgChange  = false;
    let shotf      = false;
    let frame      = 0;
    let count      = 0;
    let timer      = 0;
    let when1      = 0;
    let when2      = 0;
    let dista      = 0;
    let sc         = 0;
    let rgb        = [0,255];
    let rgbp       = 0;
    let se01       = ".\script\TheLastComer\player\se\shot.wav";
    let se02       = ".\script\TheLastComer\player\se\laser.wav";

    @Initialize{
	LoadGraphic(img1);
	LoadGraphic(img2);
	LoadGraphic(img3);
	LoadGraphic(img4);
	LoadPlayerShotData(GetCurrentScriptDirectory~".\ShotData.txt");
	SlowEffect(230,255,150);
	BitEffect;
	SetAutoEffect(false);

	SetRebirthFrame(8);
	SetRebirthFrameReduction(1);

	}
		
    @MainLoop{
	yield;
	let sgt		= GetCommonDataEx("sys","sys_trans");
	if(sgt!=0){
	SetPlayerInvincibility(120);
	}

	if(OnBomb==false){
	SetSpeed(5,2);
	}else{
	SetSpeed(2,1);
	}

	SetIntersectionCircle(GetPlayerX,GetPlayerY,1);
	SetGrazeCircle(50);
	
	if(shotf==false){timer=0}
	if(shotf==true){timer++}
	if(GetKeyState(VK_SHOT)==KEY_PUSH){shotf=true}
	if(timer>30&&GetKeyState(VK_SHOT)==KEY_FREE){shotf=false;count=0;frame=0;when2=0;}
	if(GetKeyState(VK_SLOWMOVE)==KEY_FREE||GetKeyState(VK_SHOT)==KEY_FREE){when2=0;}

	if(shotf==true&&GetKeyState(VK_SLOWMOVE)==KEY_FREE&&IsForbidBomb==false&&OnEvent==false){
	frame++;
	when2=0;
	if(frame==1){
	PlayerShot01(GetPlayerX-20,GetPlayerY-20,15,270,255,255,255,4);
	PlayerShot01(GetPlayerX+20,GetPlayerY-20,15,270,255,255,255,4);
	PlayerShot01(GetPlayerX,GetPlayerY-20,15,270,150,150,255,5);
	PlayerShot02(GetPlayerX-20,GetPlayerY+20,15,270,255,255,255,3);
	PlayerShot02(GetPlayerX+20,GetPlayerY+20,15,270,255,255,255,3);
	PlayerShot02(GetPlayerX-20,GetPlayerY+20,15,265,150,150,255,3);
	PlayerShot02(GetPlayerX+20,GetPlayerY+20,15,275,150,150,255,3);
	PlaySE(se01);
	frame=-4;
	}
	}

	if(shotf==true&&GetKeyState(VK_SLOWMOVE)==KEY_HOLD&&IsForbidBomb==false&&OnEvent==false){
	count++;
	if(count==1){
	PlayerShot01(GetPlayerX-10,GetPlayerY-20,20,270,150,150,255,2.25);
	PlayerShot01(GetPlayerX+10,GetPlayerY-20,20,270,150,150,255,2.25);
	PlayerShot01(GetPlayerX,GetPlayerY-20,20,270,150,150,255,2);
	PlayerShot02(GetPlayerX-20,GetPlayerY+0,15,270,255,255,255,2.25);
	PlayerShot02(GetPlayerX+20,GetPlayerY+0,15,270,255,255,255,2.25);
	count=-4;
	}
	}
	if(GetKeyState(VK_SLOWMOVE)==KEY_HOLD&&GetKeyState(VK_SHOT)==KEY_HOLD&&IsForbidBomb==false&&OnEvent==false){
	when2++;
	PlaySE(se02);
	if(when2==1){
	PlayerShot03(0,270,255,255,255,1.75);
	PlayerShot03(1,270,255,255,255,1.75);
	PlayerShot03(2,270,255,255,255,1.75);
	PlayerShot03(3,270,255,255,255,1.75);
	}
	}

	}

    @Missed{
		yield;
		when2=0;
		//if(GetPlayerLife<9){ExtendPlayer(1)}
				//@Ď"@MainLoop"̑ɌĂ΂܂
				//MainLoopƓł悯
				//@Missed{MainLoop}
				//Ƃ΁A@MainLoopƓɂȂ܂B
				//AĎɓeĂƕςȂ̂
				//OnMissed֐ŌĒ𔻒fĂ
	}


    @SpellCard{
	let sgt		= GetCommonDataEx("sys","sys_trans");
	if(sgt==0){UseSpellCard("Bomb",0);}
	else{AddBomb(1);}
	//if(GetPlayerBomb<8){AddBomb(1)}
			//XyJ[h𔭓uԂɌĂ΂镔ł
			//GetKeyStateňړԂ𔻒f肵
			//ĂяoXyIт܂
	}
		
    @DrawLoop{
	if(OnBomb==true){dista=3;sc++;}
	if(OnBomb==false){dista=0}
	Anime++;
	if(Anime==15){Anime=0}
	imgChange=false;
	if(GetKeyState(VK_USER)==KEY_HOLD){imgChange=true}
	if(GetKeyState(VK_LEFT)==KEY_HOLD){MoveAnimeL++}
	if(GetKeyState(VK_RIGHT)==KEY_HOLD){MoveAnimeR++}
	if(GetKeyState(VK_LEFT)==KEY_PUSH){GetLR="LEFT"}
	if(GetKeyState(VK_RIGHT)==KEY_PUSH){GetLR="RIGHT"}
	if(MoveAnimeL==3){MoveAnimeL=2}
	if(MoveAnimeR==3){MoveAnimeR=2}
	if(GetKeyState(VK_LEFT)==KEY_FREE){
	if(MoveAnimeL>0){MoveAnimeL--}
	}
	if(GetKeyState(VK_RIGHT)==KEY_FREE){
	if(MoveAnimeR>0){MoveAnimeR--}
	}
	if(imgChange==false){SetTexture(img1)}
	if(imgChange==true){SetTexture(img1)}
	if(GetLR=="LEFT"&&MoveAnimeL>0){
	if(MoveAnimeL>=0&&MoveAnimeL<=1){SetGraphicRect(9,48,37,88);SetGraphicAngle(0,0,0);}
	if(MoveAnimeL>=1&&MoveAnimeL<=2){SetGraphicRect(57,48,85,88);SetGraphicAngle(0,0,0);}
	if(MoveAnimeL>=2&&MoveAnimeL<=3){SetGraphicRect(105,48,133,88);SetGraphicAngle(0,0,0);}
	}
	if(GetLR=="RIGHT"&&MoveAnimeR>0){
	if(MoveAnimeR>=0&&MoveAnimeR<=1){SetGraphicRect(9,48,37,88);SetGraphicAngle(180,0,0);}
	if(MoveAnimeR>=1&&MoveAnimeR<=2){SetGraphicRect(57,48,85,88);SetGraphicAngle(180,0,0);}
	if(MoveAnimeR>=2&&MoveAnimeR<=3){SetGraphicRect(105,48,133,88);SetGraphicAngle(180,0,0);}
	}
	if(GetKeyState(VK_LEFT)==KEY_FREE&&GetKeyState(VK_RIGHT)==KEY_FREE&&MoveAnimeR<=0&&MoveAnimeL<=0){
	if(Anime>=0&&Anime<=5){SetGraphicRect(11,0,37,43)}
	if(Anime>=5&&Anime<=10){SetGraphicRect(59,0,85,43)}
	if(Anime>=10&&Anime<=15){SetGraphicRect(107,0,133,43)}
	}
	if(GetTimeOfPlayerInvincibility<=0){SetColor(255,255,255)}
	if(GetTimeOfPlayerInvincibility>0){SetColor(rgb[rgbp],rgb[rgbp],rgb[rgbp]);rgbp++;if(rgbp==2){rgbp=0}}
	DrawGraphic(GetPlayerX+dista*sin(sc*100),GetPlayerY+dista*sin(sc*100));

	}
		
    @Finalize{}
#include_function".\Obj_Shot.txt"
#include_function".\Eff_Player.txt"
	}

script_spell Bomb{
	let imgb1      = GetCurrentScriptDirectory~".\eff\ms.png";
	let imgba      = GetCurrentScriptDirectory~".\eff\Theworld.png";
	let sebb       = ".\script\TheLastComer\player\se\ms.wav";
    @Initialize{
	LoadGraphic(imgb1);
	LoadGraphic(imgba);
	SetPlayerInvincibility(380);
	run;
	}
    @MainLoop{
	yield;
	}
    @Finalize{
	}

	task run{
	BlackOut(330);
	BombEffect;
	PlaySE(sebb);
	loop(380){yield}
	End;
	}
#include_function".\Eff_Bomb.txt"
	}