#BackGround[Default]
#Player[FREE]
#ScriptVersion[2]
script_enemy_main{
	#include_function ".\lib\lib_anime_Sunnymilk.txt"
	let imgBoss=GetCurrentScriptDirectory~"img\Boss\dot_sunnymilk.png";

        #include_function ".\lib\lib_Bosscommon.txt"
        #include_function ".\lib\lib_SpellBouns.txt"

    	@Initialize
        {
	  SetMovePosition02(cx-40,-90,0);
	  SetLife(2000);
	  SetDamageRate(0,0);
	  SetCountDown;
	  CreateEnemyFromScript("luna",cx+90,-40,0,0,0);
	  CreateEnemyFromScript("star",cx-80,-40,0,0,0);
          Tmain;
	}
	
	@MainLoop
	{  
                yield;
                SetCollisionA(GetX(),GetY(),32);
		SetCollisionB(GetX(),GetY(),16);
		if(GetHitCount<=0){return;}
		if(Hitframe%4==0){
			PlaySE(Hit);
		}
		Hitframe++;
        } 
	
	@Finalize
	{       

	}

	@DrawLoop
	{//`
                SetColor(255,255,255);
		SetRenderState(ALPHA);
		DrawBoss( imgBoss );
	}

        task Tmain
        {
		SetMovePosition03(cx,cy-140,10,10);
		loop(60){yield;}
		//J[h
	 	SetDamageRate(100,50);
		
		SetTimer(31);
		loop(60){yield;}
		//e-------------------------------------------------------------------------------------
		alternative(Level)
		case(1){//hard
			let ways = 22;
			Shot01(ways);
		}
		case(0){//easy
			let ways = 8;
			Shot01(ways);
		}
	}

	task Shot01(ways){//Sʃ[U[
		loop{
			let angle=90;
			loop(8){
				PlaySE(Lazer1);
				loop(ways){
					CreateLaser01(GetX,GetY,5,angle,100,20,9,10);
					angle+=360/ways;
				}
				angle+=360/ways/2;
				loop(20){yield};
			}
			TMove();
		}
	}

	task TMove(){
 		if(GetX>=GetPlayerX){SetMovePositionRandom01(60,30,2,GetX-60,cy-160,GetX-61,cy-80);}
 		if(GetX<=GetPlayerX){SetMovePositionRandom01(60,30,2,GetX+60,cy-160,GetX+61,cy-80);}
		if(GetX>=cx+100){SetMovePositionRandom01(60,30,2,GetX-60,cy-160,GetX-61,cy-80);}
		if(GetX<=cx-100){SetMovePositionRandom01(60,30,2,GetX+60,cy-160,GetX+61,cy-80);}
		SetAction( ACT_MOVE, 60 );
	}

        task effectshot(X,Y,delay,col){
                  CreateShotA(1,X,Y,delay);
                  SetShotDataA(1,0,0,0,0,0,0,7);
                  SetShotKillTime(1,0);
                  FireShot(1);
        }
}

script_enemy luna{
        #include_function ".\lib\lib_anime_Lunachild.txt"
	let imgBoss=GetCurrentScriptDirectory~"img\Boss\dot_lunachild.png";
	let Item  	=GetCurrentScriptDirectory~"\img\effect_tiny.png";
	#include_function ".\lib\lib_EnemyMarker.txt"
	EnemyMarker;
        let cx=GetCenterX;
        let cy=GetCenterY;
    	@Initialize
        {
          InitializeAction();
          SetInvincibility(90);
          SetLife(4000);
          Tmain;

	}

	@MainLoop
	{  
                yield;
        } 
	@Finalize
	{       

	}
	@DrawLoop
	{//`
                SetColor(255,255,255);
		SetRenderState(ALPHA);
		DrawBoss( imgBoss );
	}
        
        task Tmain
        {
		loop(15){yield}
		SetMovePosition03(cx+100,cy-120,10,6);
		loop(60){yield}
                SetAction( ACT_MOVE, 60 );
		SetMovePosition03(cx+300,cy-160,10,5);
		loop(60){yield;}
		VanishEnemy;

        }
        task Tmove(){
                 if(GetX>=cx+100){SetMovePositionRandom01(70,20,2,GetX-70,cy-120,GetX-71,cy-60);}
                 else if(GetX<=cx-100){SetMovePositionRandom01(70,20,2,GetX+70,cy-120,GetX+71,cy-60);}
                 else if(GetX>=GetPlayerX){SetMovePositionRandom01(70,20,2,GetX-70,cy-120,GetX-71,cy-60);}
                 else if(GetX<=GetPlayerX){SetMovePositionRandom01(70,20,2,GetX+70,cy-120,GetX+71,cy-60);}
                 SetAction( ACT_MOVE, 60 );
        }
}

script_enemy star{
        #include_function ".\lib\lib_anime_Starsapphire.txt"
	let imgBoss=GetCurrentScriptDirectory~"img\Boss\dot_starsapphire.png";
	let Item  	=GetCurrentScriptDirectory~"\img\effect_tiny.png";
	#include_function ".\lib\lib_EnemyMarker.txt"
	EnemyMarker;
        let cx=GetCenterX;
        let cy=GetCenterY;
    	@Initialize
        {
          InitializeAction();
          SetInvincibility(90);
          SetLife(4000);
	  Tmain;

	}
	@MainLoop
	{  
                yield;
        } 
	@Finalize
	{       

	}
	@DrawLoop
	{//`
                SetColor(255,255,255);
		SetRenderState(ALPHA);
		DrawBoss( imgBoss );
	}
        
        task Tmain
        {
		loop(30){yield}
		SetMovePosition03(cx-100,cy-120,10,4);
		loop(45){yield}
                SetAction( ACT_MOVE, 60 );
		SetMovePosition03(cx-300,cy-160,10,5);
		loop(60){yield;}
		VanishEnemy;

        }

}
