script_enemy_main {
	#include_function ".\..\ShotSheet\shot_replace.dnh"
	#include_function ".\..\functions.txt"
	#include_function ".\..\s2\kisume_functions.txt"

	SpellID=23;

    @Initialize {
	StartFunctions(1,0,0);
	Randomize;
        SetLife(1700);
        SetTimer2(35);
	SetDamageRate(80,40);
	MagicCircle(false);
	SetEnemyMarker(true);
	KisumeInit;

	shotinit;

//	CutIn2(0,"unnamed",imgEmpeghBig,332,410,4,60, 210);
//	SpellCircle2(3,1,4,250);
	SetShotAutoDeleteClip(100,100,100,100);

	MainTask;
    }


function Wait(frames){loop(frames){yield;}}

task MainTask{
	MoveTask;
	DelayBombTask;
	Wait(60);
	MainTask2;
	MainTask3;
	let frame=0;
	loop{
		MainShot(GetX,GetY, 3,  GetAngleToPlayer,   30, 3,2,100);
		MainShot(GetX,GetY, 3,  GetAngleToPlayer+40,30, 3,2,100);
		MainShot(GetX,GetY, 3,  GetAngleToPlayer-40,30, 3,2,100);
		MainShot(GetX,GetY, 3,  GetAngleToPlayer+80,30, 3,2,100);
		MainShot(GetX,GetY, 3,  GetAngleToPlayer-80,30, 3,2,100);

		Wait(35);
	}
}
task MainTask2{
	let angle=0;
	loop{
		loop(15){
			if(GetLife>1050){
				CreateShot02(GetX+cos(angle)*20,GetY+sin(angle)*20,1,angle,3/120,3,PURPLE21,0);
			}else{
				CreateShot02(GetX+cos(angle)*20,GetY+sin(angle)*20,1,angle,3/120,3,RED21,0);
			}
			CreateShot02(GetX+cos(angle)*20,GetY+sin(angle)*20,0.8,angle,3/120,3,WHITE21,0);
			angle+=(360/15);
		}
		SE("shot1");
		angle-=360/30;
		Wait(20);
	}
}
task MainTask3{
	loop{
		Wait(51);
		SE("laser3");
		CreateLaser01(GetX,GetY,5,GetAngleToPlayer,   200,50,RED01,0);
		CreateLaser01(GetX,GetY,5,GetAngleToPlayer+30,200,50,RED01,0);
		CreateLaser01(GetX,GetY,5,GetAngleToPlayer-30,200,50,RED01,0);
		CreateLaser01(GetX,GetY,5,GetAngleToPlayer,   200,50,SP01,0);
		CreateLaser01(GetX,GetY,5,GetAngleToPlayer+30,200,50,SP01,0);
		CreateLaser01(GetX,GetY,5,GetAngleToPlayer-30,200,50,SP01,0);
	}
}
task MoveTask{
	let frame=0;
	loop{
		SetY(sin(lower(frame,90))*190-90);
		SetX(GetCenterX+sin(frame)*70);
		frame++;
		yield;
	}
}
function MainShot(x,y,v,a,d,v2,number,d2){
	let angle=0;
	let i=0;
	let loopnum=0;
	loop(number){
		angle=prand(-20,-160);
		i=RandDir;
		CreateShotA(0,x,y,0);
		if(loopnum==number-1){
			SetShotDataA(0,0,v,a,0,0,0,AQUA01);
		}else{
			SetShotDataA(0,0,v,a,0,0,0,AQUA05);
		}
		SetShotDataA_XY(0,d,cos(angle)*v2,sin(angle)*v2,0,0.1,0,10,AQUA04+i);
		SetShotDataA_XY(0,d2,i*0,prand(-1,0),0,0.08,0,5,AQUA02+i);
		FireShot(0);
		loopnum++;
	}
}

    @MainLoop {
        SetCollisionA(GetX, GetY, 40);
	SetCollisionB(GetX, GetY, 20);


	KisumeDrawLogic;
	yield;
}
    @DrawLoop {
	KisumeDrawLoop;
}
    @BackGround{
//	EmpeghBG;
}


    @Finalize {
	KisumeFinalize;
	PointItems(GetX,GetY,2,0);
	EndingFunc(2);
    }

}