#e
#Title[{u[tV[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);
LoadUserShotData(GC~".\shot.txt");
SetLife(4000);
SetTimer(80);
SetDamageRate(10,10);
CutIn(KOUMA,"{u[tV[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));}
}

task Tmain
{
loop(60){yield};
CollectItems;
pattern(5);
SetMovePosition03(GetCenterX,GetClipMinY+80,15,8);
loop(60){yield};
pattern(0);
let left=1;
Tfall;
loop
	{
	CreateEnemyFromScript("leaf",GetX,GetY,0,GetAngleToPlayer,0);
	loop(20){yield;}
	loop(180){yield;}
	while(GetEnemyNum>=2){yield;}
	SetDamageRate(100,100);
	}	
}

task Tfall
{
loop(120){yield;}
let angle=135;
let pitch=(GetClipMaxX-GetClipMinX)/4;
let left=1;
loop
	{
//	let X=rand(-8,40);
	let X=16;
	loop(5)
		{
		CreateShot01(X,GetClipMinY,1.5,angle,GREEN23,0);
		CreateShot01(340-X,GetClipMinY,1.5,180-angle,GREEN23,0);
	//	Tleaf(GetClipMinX+X,left);
		X=X+pitch;
		}
	angle=angle-3*left;
	if(angle<=45||angle>=135){left=left*-1;}
	loop(18){yield;}
	}
}

task Tleaf(X,left)
{
let leaf=Obj_Create(OBJ_SHOT);
Obj_SetPosition(leaf,X,GetClipMinY-20);
Obj_SetSpeed(leaf,2);
ObjShot_SetGraphic(leaf,1);
while(Obj_BeDeleted(leaf)==false)
	{
	Obj_SetAngle(leaf,90-55*left);
	loop(36){yield;}
	left=left*-1;
	}
}

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

}

script_enemy leaf
{

let count=0;
let GC=GetCurrentScriptDirectory;
@Initialize
{
SetLife(10000);
SetDamageRate(0,0);
LoadUserShotData(GC~".\shot.txt");
Tmain;
}
@MainLoop
{
yield;
}
@DrawLoop
{
DrawGraphic(GetX,GetY);
}
@Finalize
{
}
task Tmain
{
Tlife;
let angle=0;
loop(8)
	{
	Tshield(angle);
	angle=angle+45;
	}
loop(360){yield};
SetSpeed(2);
SetAngle(GetAngleToPlayer);
}

task Tshield(angle)
{
let rad=1;
let leaf=Obj_Create(OBJ_SHOT);
ObjShot_SetGraphic(leaf,1);
Obj_SetAngle(leaf,135);
ObjShot_SetBombResist(leaf,true);
while(Obj_BeDeleted(leaf)==false)
	{
	Obj_SetPosition(leaf,GetX+rad*cos(angle),GetY+rad*sin(angle));
	SetCollisionA(Obj_GetX(leaf),Obj_GetY(leaf),8);
	if(rad<80){rad=rad+1};
	angle=angle+3;
	yield;
	}
count=count+1;
}

task Tlife
{
while(count<8){yield;}
VanishEnemy;
}

}