
#Title[enm5 Attack01 l]
#Text[~VFET^WF@ʏ01]
#Player[FREE]
#BackGround[Default]
#ScriptVersion[2]

script_enemy_main {
	let imgEffect = GetCurrentScriptDirectory~".\enm5eff\bossEfect.png";
	let t5		= GetCurrentScriptDirectory~".\enm5se\timer1.wav";
	let t10	   = GetCurrentScriptDirectory~".\enm5se\timer2.wav";
	let tan	   = GetCurrentScriptDirectory~".\enm5se\shot1.wav";
	let kira	  = GetCurrentScriptDirectory~".\enm5se\shot2.wav";
	let Gspel	 = GetCurrentScriptDirectory~".\enm5se\echo5.wav";
	let laser	 = GetCurrentScriptDirectory~".\enm5se\Laser2.wav";
	let power	 = GetCurrentScriptDirectory~".\enm5se\enemy_powereffect.wav";
	let powerl	= GetCurrentScriptDirectory~".\enm5se\power_logo.wav";
	let gekiha	= GetCurrentScriptDirectory~".\enm5se\BossEnd.wav";
	let powerla   = GetCurrentScriptDirectory~".\enm5se\power_logo.wav";
	let kaku	  = GetCurrentScriptDirectory~".\enm5se\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   = GetCurrentScriptDirectory ~ "data_usershot.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 b		 = 0;
	let S_count   = 0;
	let w		 = 0;
	let lp		= 0;

	@Initialize {
	//SetX(MaxX+100);
	//SetY(MinY-100);

	SetLife(5000);
	SetDamageRate(0,0);

	SetInvincibility(120);

	/*e폜@(l64)*/
	SetShotAutoDeleteClip(10,10,10,64);

	LoadUserShotData(shotdir);
	SetMovePosition03(CenX,CenY-150,10,5);
	LoadGraphic(imgEffect);
	Aura(8,50,50,255);
	MagicCircle(false);
	SetRateScoreSystemEnable(false);
	hpb(0,1,0);
	SetTimer(60);
	Timer(2,0);
	VSname(0);
//	let tact = GetCommonDataEx("title","act");
//	if(tact!=11){
	VSname2(0,0);
	VSname2(10,0);
	VSname2(20,0);
	VSname2(30,0);
	VSname2(40,0);
//	}
	EnemyTexture05b(true);
	RedMagicCircle(0,0);
	Shot_Main;
	}

	@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(120,100);Damage=0;}
	if(OnBomb==false){Damage++;}
	if(Damage>=100){SetDamageRate(120,100);}

	/*XyJ[hؐ錾*/
	if(S_count==1){
	CutinSP("TIREI",50,-50,4000000,60,0,0,0,0,0);
	CutinSP2(-120,-10,GetCurrentScriptDirectory~".\enm5spell\enm5_sn01_normal.png",0,0,300,30,255,255,255);
	BackGroundEffect;
	}
	if(S_count==50){
	}
	

	a++;	
	frame++;
	count++;
	//S_count++;
	timer++;

}//MainLoop")"łB

	@DrawLoop {}

	@Finalize {
	}
	
	task Shot_Main {
	let r;
	let ang = 0;
	let x;
	let y;
	let speed;
	let ox = 32;
	let way = 12;
	let sign = 1;
	let pangle;
	loop(120){yield;}
		loop {
			r = 0;
			loop(40) {
				PlaySE(kira);
				ascent(let i in 4..15) {
					CreateShot02(GetX+cos(ang+i*180)*r,GetY+sin(ang+i*180)*r,6,ang+i*180,-0.3,i/4,174,10);
					}
				loop(2){yield;}
				r+=1;
				ang+=10*sign;
			}
			speed = 4.5;
			loop(24) {
				PlaySE(tan);
				ascent(let i in 0..12) {
					ChangeShot(GetX,GetY,speed,i*30+speed*120*sign,-0.04,0,88,10,1.7,sign);
					}
				loop(2){yield;}
				speed-=0.1;
				}
			MoveToPlayerRand;
			loop(60){yield;}
			sign*=-1;
			}
	}
	
task ChangeShot(x,y,s,a,ps,ms,g,d,s2,muki) {
	let obj = CreateShot02(x,y,s,a,ps,ms,g,d);
	while(Obj_GetSpeed(obj)>ms){yield;}
	Obj_Delete(obj);
	CreateShot01(Obj_GetX(obj),Obj_GetY(obj),s2,a+70*muki,g-6,20);
	}
	
function MoveToPlayer_(xMove, yAdd, frame, left, top, right, bottom) {
	let x;
	let y;
	if(GetPlayerX < GetX) {
		x = GetX - xMove;
		if(x < left) {
			x = GetX + xMove;
		}
	} else {
		x = GetX + xMove;
		if(right < x) {
			x = GetX - xMove;
		}
	}
	y = GetY + yAdd;
	if(y < top) {
		y = top;
	} else if(bottom < y) {
		y = bottom;
	}
	SetMovePosition03(x, y, 30,5);
}

function MoveToPlayerRand {
	MoveToPlayer_(rand(40, 80),rand(-40, 40),60,GetClipMinX+32,CenY-150,GetClipMaxX-32,CenY-90);
	}

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