
#Title[enm7 spell04 extra]
#Text[GtBE~g
ԕutBv]
#Player[FREE]
#BackGround[Default]
#ScriptVersion[2]

script_enemy_main{
	let csd			= GetCurrentScriptDirectory;
	let imgEffect	= csd~".\enm7eff\bossEfect.png";
	let imgSPNB		= csd~".\enm7eff\spellEfect.png";
	let t5			= csd~".\enm7se\timer1.wav";
	let t10			= csd~".\enm7se\timer2.wav";
	let tan			= csd~".\enm7se\shot1.wav";
	let kira		= csd~".\enm7se\shot2.wav";
	let Gspel		= csd~".\enm7se\echo5.wav";
	let laser		= csd~".\enm7se\Laser2.wav";
	let power		= csd~".\enm7se\enemy_powereffect.wav";
	let powerl		= csd~".\enm7se\power_logo.wav";
	let gekiha		= csd~".\enm7se\BossEnd.wav";
	let powerla		= csd~".\enm7se\power_logo.wav";
	let kaku		= csd~".\enm7se\j.wav";
	let frame		= 0;
	let GetAngle	= 0;
	let angle		= 0;
	let angle2		= 0;
	let angleBase	= 0;
	let count		= 0;
	let timer		= 0;
	let shotdir		= csd ~ "kshotData.txt";
	let MinX		= GetClipMinX;
	let MaxX		= GetClipMaxX;
	let CenX		= GetCenterX;
	let MinY		= GetClipMinY;
	let MaxY		= GetClipMaxY;
	let CenY		= GetCenterY;
	let T_count		= 0;
	let Damage		= 0;
	let a			= 0;
	let S_count		= 0;
	let endc		= 0;
	let i			= 0;
	let rt			= 0;

	@Initialize{
		SetLife(1000);
		SetDamageRate(0,0);
		SetInvincibility(120);
		
		CreateCommonDataArea("anime");
		SetCommonDataEx("anime","anime_flag",false);

		//e폜@(l64)
		SetShotAutoDeleteClip(32,256,32,32);
		LoadUserShotData(shotdir);
		SetMovePosition03(CenX,CenY-100,10,5);
		LoadGraphic(imgEffect);
		LoadGraphic(imgSPNB);
		Aura(8,180,255,210);
		MagicCircle(false);
		SetRateScoreSystemEnable(false);
		hpb(1,0,0);
		Timer(1,1);
		EnemyTexture07(false);
		SetEffectForZeroLife(0,0,0);
		VSname(0);
		while(i<6){
			VSname2(0+i*10,0);
			i++;
		}i=0;
		RedMagicCircle(1,0);//1o 2ިڲ
		
		CreateEnemyFromFile(csd~"enm7_Family01_Extra.txt",0,0,0,0,0);
		SpellPracticeSave("extra",5);
	}

	@MainLoop{
		yield;
		SetCollisionA(GetX, GetY, 30);
		//SetCollisionB(GetX, GetY, 16);

		//ԏ
		if(GetTimer<=10 && GetTimer>=0){T_count++;}
		alternative(T_count)
		case(1,60,120,180,240){PlaySE(t10);}
		case(300,360,420,480,540){PlaySE(t5);}

		//{Agp莞ԃ_[W
		if(OnBomb==true){SetDamageRate(0,0);Damage=0;}
		if(OnBomb==false){Damage++;}
		if(Damage>=100){SetDamageRate(35,0);}

		//XyJ[hؐ錾
		if(S_count==1){
			CutinSP("TIREI",20,-50,8000000,60,GetCurrentScriptDirectory~".\enm7img\mint00000.png",0,0,384,512);
			CutinSP2(-275,-10,GetCurrentScriptDirectory~".\enm7spell\enm7_sn03.png",0,0,384,32,255,255,255);
			BackGroundEffect;
		}
		if(S_count==100){
			angle2=1;
			//Concentration(50,powerla);
		}

		a++;	
		frame++;
		count++;
		S_count++;
		timer++;
		if(frame==200){
			if(rt==0){
				loop(20){
					CreateShotA(0,GetX-5*sin(angle),GetY+5*cos(angle),5);
					SetShotDataA(0,0,3,angle,2.5,0,5,kGREEN62);
					SetShotDataA(0,120,NULL,NULL,0,-0.01,3,kGREEN62);
					FireShot(0);
					CreateShotA(0,GetX-5*sin(angle),GetY+5*cos(angle),5);
					SetShotDataA(0,0,3,angle,-2.5,0,5,kBLUE62);
					SetShotDataA(0,120,NULL,NULL,0,-0.01,2,kBLUE62);
					FireShot(0);
					CreateShotA(0,GetX-5*sin(angle2),GetY+5*cos(angle2),5);
					SetShotDataA(0,0,3,angle2,2.5,0,5,kPURPLE62);
					SetShotDataA(0,120,NULL,NULL,0,0.01,4,kPURPLE62);
					FireShot(0);
					angle+=18;
					angle2+=18;
				}
				angle2+=0.5;
			}else{
				loop(20){
					CreateShotA(0,GetX-5*sin(angle),GetY+5*cos(angle),5);
					SetShotDataA(0,0,3,angle,-2.5,0,5,kGREEN62);
					SetShotDataA(0,120,NULL,NULL,0,-0.01,3,kGREEN62);
					FireShot(0);
					CreateShotA(0,GetX-5*sin(angle),GetY+5*cos(angle),5);
					SetShotDataA(0,0,3,angle,2.5,0,5,kBLUE62);
					SetShotDataA(0,120,NULL,NULL,0,-0.01,2,kBLUE62);
					FireShot(0);
					CreateShotA(0,GetX-5*sin(angle2),GetY+5*cos(angle2),5);
					SetShotDataA(0,0,3,angle2,-2.5,0,5,kPURPLE62);
					SetShotDataA(0,120,NULL,NULL,0,0.01,4,kPURPLE62);
					FireShot(0);
					angle+=18;
					angle2+=18;
				}
				angle2-=0.5;
			}
			angle+=8;
			PlaySE(kira);
			frame=195;
		}
		
		if(timer==100){
			SetCommonDataEx("anime","anime_flag",true);
			Concentration(50,powerla);
		}
		if(timer==200){
			SetCommonDataEx("anime","anime_flag",false);
		}
		alternative(count)
		case(300){
			if(count==0){SetMovePositionRandom01(200,100,3,GetX-40,CenY-100,GetX-41,CenY-100);}
			else if(GetX<=CenX-100){SetMovePositionRandom01(200,100,rand(4,6),GetX+40,CenY-100,GetX+41,CenY-100);}
			else if(GetX>=GetPlayerX){SetMovePositionRandom01(200,100,rand(4,6),GetX-40,CenY-100,GetX-41,CenY-100);}
			else if(GetX<=GetPlayerX){SetMovePositionRandom01(200,100,rand(4,6),GetX+40,CenY-100,GetX+41,CenY-100);}
		}
		if(count==300){
			frame=-60;
			count=-60;
			timer=-60;
			rt++;
			if(rt==2){rt=0;}
		}

		let tact = GetCommonDataEx("title","act");
		let tsst = GetCommonDataEx("title","start_stage");
		if(tact==11){
			if(OnPlayerMissed==true){
				SetCommonDataEx("title","start_stage",false);
				VanishEnemy;
			}
			if(GetEnemyLife<=10){
				SetMovePosition03(CenX-30,CenY-120,10,5);
				SetDamageRate(0,0);
				endc++;
			}
			if(endc==1){
				DeleteAllEnemyWithoutBoss;
				DefeatExplosion(GetEnemyX,GetEnemyY);
			}
		}

	}//MainLoop")"łB

	@DrawLoop{}

	@Finalize{
		let tact = GetCommonDataEx("title","act");
		if(tact==11){
			SetCommonDataEx("title","start_stage",false);
		}
	}

	#include_function".\Obj_Control.txt"
	#include_function".\lib_kshot.txt"
}