#e
#Title[uou[hv]
#ScriptVersion[2]
#Player[FREE]
#Text[]
#BackGround[User]

script_enemy_main
{
let GC=GetCurrentScriptDirectory;
@Initialize
{
LoadGraphic(GC~".\main2.png");
SetTexture(GC~".\main2.png");
SetGraphicRect(0,0,32,32);
SetLife(4000);
SetTimer(80);
SetDamageRate(100,100);
CutIn(KOUMA,"uou[hv","",0,0,0,0);
SetScore(100000);
Tmain;
//CreateDebugWindow;
}
@MainLoop
{
SetCollisionA(GetX,GetY,24);
SetCollisionB(GetX,GetY,12);
OutputDebugString(0,"enemy",GetEnemyNum);
yield;
}
@DrawLoop
{DrawGraphic(GetX,GetY);}
@Finalize
{
AddScore(10000);
loop(30){CreateItem(ITEM_SCORE,GetX+rand(-40,40),GetY+rand(-30,30));}
}

let left=1;

task Tmain
{
Concentration01(60);
loop(60){yield};
CollectItems;
pattern(5);
SetMovePosition03(GetCenterX+160*left,GetCenterY,15,8);
Twall;
loop(60){yield};
SetGraphicAngle(180,0,0);
pattern(0);
loop
	{
	Tattack(12);
	SetMovePosition02(GetCenterX-160*left,GetClipMinY+48,180);
	loop(180){yield;}
	SetGraphicAngle(90-90*left,0,0);
	SetMovePosition02(GetX,GetY+180,120);
	loop(4)
		{
		Tbubble(left);
		loop(30){yield;}
		}
	left=left*-1;
	}
}

task Tattack(way)
{
loop(18)
	{
	pattern(5);
	let angle1=90;
	let angle2=GetAngleToPlayer;
	loop(way)
		{
		CreateShot01(GetX,GetY,2.5,angle2,PURPLE31,0);
		CreateShot01(GetX,GetY,3.5,angle1,BLUE31,0);
		angle1=angle1+360/way;
		angle2=angle2+360/way;
		}
	loop(8){yield;}
	pattern(0);
	loop(2){yield;}
	}
}

task Tbubble(left)
{
let doun=1;
let fall=GetY/GetClipMaxY*10;
let bubble=Obj_Create(OBJ_SHOT);
ObjShot_SetGraphic(bubble,WHITE02);
Obj_SetPosition(bubble,GetX,GetY);
while(Obj_BeDeleted(bubble)==false)
	{
	Obj_SetPosition(bubble,Obj_GetX(bubble)+left,Obj_GetY(bubble)+fall);
	fall=fall+0.10;
	if(Obj_GetY(bubble)>=GetClipMaxY){fall=-8;}	
	yield;
	}
}

task Twall
{
let X=GetClipMinX;
let Y=GetClipMinY+30;
let Xpitch=(GetClipMaxX-GetClipMinX)/30;
let Ypitch=(GetClipMaxY-GetClipMinY-30)/42;
loop(43)
	{
	Tblock(GetClipMinX,Y);
	Tblock(GetClipMaxX,Y);
	Y=Y+Ypitch;
	}
loop(31)
	{
	Tblock(X,GetClipMinY+30);
	Tblock(X,GetClipMaxY);
	X=X+Xpitch;
	}
}

task Tblock(X,Y)
{
let block=CreateShot01(X,Y,0,0,PURPLE04,50);
ObjShot_SetBombResist(block,true);
}

function pattern(let rec)
{
let round=1;
SetGraphicRect(32*rec,32*round,32+32*rec,32+32*round);
}

}