
#Title[enm7 spell03 extra]
#Text[GtBE~g
Eu\_OWW[v]
#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;

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

		//e폜@(l64)
		SetShotAutoDeleteClip(30,30,30,30);
		LoadUserShotData(shotdir);
		SetMovePosition03(CenX,CenY-60,10,5);
		LoadGraphic(imgEffect);
		LoadGraphic(imgSPNB);
		Aura(8,180,255,210);
		MagicCircle(false);
		SetRateScoreSystemEnable(false);
		hpb(1,0,0);
		Timer(1,1);
		EnemyTexture07(true);
		SetEffectForZeroLife(0,0,0);
		VSname(0);
		while(i<7){
			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",4);
	}

	@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(45,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_sn04.png",0,0,384,32,255,255,255);
			BackGroundEffect;
		}
		if(S_count==50){
			Concentration(50,powerla);
		}

		a++;	
		frame++;
		count++;
		S_count++;
		timer++;
		if(frame==160){
			loop(5){
				AlphaCBullet(0,GetX,GetY,3,angle,kYELLOW61,10);
				AlphaCBullet(1,GetX,GetY,3,angle+36+rand(-28,28),kGREEN61,10);
				AlphaCBullet(1,GetX,GetY,3,angle+36+rand(-28,28),kGREEN61,10);
				AlphaCBullet(1,GetX,GetY,3,angle+36+rand(-28,28),kGREEN61,10);
				AlphaCBullet(1,GetX,GetY,3,angle+36+rand(-28,28),kGREEN61,10);
				angle+=72;
			}
			PlaySE(kira);
			angle+=4;
			frame=155;
		}
		if(timer==70){
			SetCommonDataEx("anime","anime_flag",true);
			Concentration(50,powerla);
		}
		if(timer==150){
			if(angle2==0){
				SetCommonDataEx("anime","alpha_change",true);
			}else{
				SetCommonDataEx("anime","alpha_change",false);
			}
			PlaySE(tan);
		}
		alternative(count)
		case(2000){
			if(count==0){SetMovePositionRandom01(200,100,3,GetX-40,CenY-160,GetX-41,CenY-90);}
			else if(GetX<=CenX-100){SetMovePositionRandom01(200,100,rand(4,6),GetX+40,CenY-160,GetX+41,CenY-90);}
			else if(GetX>=GetPlayerX){SetMovePositionRandom01(200,100,rand(4,6),GetX-40,CenY-160,GetX-41,CenY-90);}
			else if(GetX<=GetPlayerX){SetMovePositionRandom01(200,100,rand(4,6),GetX+40,CenY-160,GetX+41,CenY-90);}
		}
		if(count==200){
			count=50;
			timer=50;
			angle2++;
			if(angle2==2){angle2=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"
}