#Title[dʏP]
#Text[]
#Image[]
#BackGround[]
#PlayLevel[]
#Player[FREE]
#ScriptVersion[2]

script_enemy_main
{
	#include_function ".\eW.txt"

	@Initialize{
	SetX(GetCenterX);
	SetY(GetClipMinY + 120);
	SetLife(5000);
	SetTimer(99);
	SetDamageRate(100,200);

	LoadGraphic(imgboss73);
	SetTexture(imgboss73);
	SetGraphicRect(0,0,127,127);
	Shot(3);
	}

	@MainLoop{
	ChackBonus;
	SetCollisionA(GetX,GetY,24);
	SetCollisionB(GetX,GetY,24);
	yield;
	}

	@DrawLoop{
	DrawGraphic(GetX,GetY);
	}

	@Finalize{
	MasicPointAddNormal(10);
	DeleteGraphic(imgboss73);
	}

	task Move(){
	loop{
	yield;
	}
	}

	task Shot(level){
	function Wait(time){loop(time){yield;}}

	function YouShotA(angle,level){
	let speed = 2 - level * 0.3;
	let speedA = 1.5 - (level - 1) * 0.3;
	CreateShotA(1,GetX,GetY,10);
	SetShotDataA(1,0,2,angle,0,0,2,RED21);
	SetShotDataA(1,20,0,0,0,0,0,RED21);
	SetShotDataA(1,50,speed,angle+90,0.03,0,0,RED21);
	loop(level + 1){
	CreateShotA(2,0,0,10);
	CreateShotA(3,0,0,10);
	SetShotDataA(2,0,speedA,angle-60,0,0,0,RED31);
	SetShotDataA(3,0,speedA,angle+60,0,0,0,RED31);
	AddShot(80,1,2,0);
	AddShot(80,1,3,0);
	speedA += 0.5;
	}
	FireShot(1);
	}

	function YouShotB(angle,level){
	let speed = 2 - level * 0.3;
	let speedA = 1.5 - (level - 1) * 0.3;
	CreateShotA(4,GetX,GetY,10);
	SetShotDataA(4,0,2,angle,0,0,2,BLUE21);
	SetShotDataA(4,20,0,0,0,0,0,BLUE21);
	SetShotDataA(4,50,speed,angle-90,0.03,0,0,BLUE21);
	loop(level + 1){
	CreateShotA(5,0,0,10);
	CreateShotA(6,0,0,10);
	SetShotDataA(5,0,speedA,angle-60,0,0,0,BLUE31);
	SetShotDataA(6,0,speedA,angle+60,0,0,0,BLUE31);
	AddShot(80,4,5,0);
	AddShot(80,4,6,0);
	speedA += 0.5;
	}
	FireShot(4);
	}


	let way = 8 + level * 6;
	let angle;
	Wait(120);

	loop{

	let wait = 50;
	angle = rand(0,20);
	while(wait >= 25){
	loop(way){
	YouShotA(angle,level);
	angle += 360 / way;
	}
	Wait(wait);
	loop(way){
	YouShotB(angle,level);
	angle += 360 / way;
	}
	Wait(wait);
	wait -= (6 - level);
	angle -= 356.79;
	}

	loop(way){
	YouShotA(angle,level);
	angle += 360 / way;
	}
	loop(way){
	YouShotB(angle,level);
	angle += 360 / way;
	}


	Wait(100 - level * 7);
	}	
	}
}