#e
#Title[񑥘AguKtAv]
#Text[񑥓񏭏̃XyJ[h]
#Player[FREE]
#ScriptVersion[2]

script_enemy_main {
        let count=0;
        let name    = "񑥘AguKtAv";
        let csd     = GetCurrentScriptDirectory;
        let imgBoss =csd~"img\dot_suwako.png";
        let imgBoss2 =csd~"img\dot_utuho.png";
        let angle = 0;
	let Animation=0;

    @Initialize {
    CutIn(YOUMU, name, 0, 0, 0, 0, 0);

        SetLife(3000);
        SetTimer(70);
        SetScore(10000000);
        SetDamageRate(0,0);

        SetInvincibility(0);
        SetMovePosition02(GetCenterX(),140,60);
	LoadGraphic(csd~"img\dot_suwako.png");
	LoadGraphic(csd~"img\dot_utuho.png");
	CreateEnemyFromScript("DOLL01",GetX,GetY,0,0,1);
        TAnime;
    }

        @MainLoop
        {
        	if(count==150)
        	{
		SetDamageRate(100,5);
        	}
	if(count>=400&&count%100==0){
			let i=0;
			while(i<30)
			{
        		SetShotDirectionType(ABSOLUTE);
			let shotA=0;
			CreateShotA(shotA,GetX(),GetY(),i);
			SetShotDataA_XY(shotA,0,rand(-3,3),rand(-4,-2),rand(-0.5,0.5),rand(0.1,0.2),rand(-1,1),rand(3,5),BLUE04);
			FireShot(shotA);
			i=i+1;
			}
		}
	if(count>=200&&count%200==0){
		SetMovePositionRandom01(rand(40,100),rand(40,100),2,GetClipMinX()+50,100,GetClipMaxX()-50,200);
		}
        	SetCollisionA(GetX(),GetY(),32);
        	SetCollisionB(GetX(),GetY(),24);
        	count++;
        yield;
        }

    @Finalize {
        DeleteGraphic(imgBoss);
    }

        @DrawLoop {
		SetRenderState(ALPHA);
		SetTexture(imgBoss);
		SetGraphicScale(1,1);
		SetAlpha(255);
		SetColor(255,255,255);
		SetGraphicAngle(0,0,0);
		SetRenderState(ALPHA);
		SetAlpha(255);
		if(int(GetSpeedX())==0)
		{SetGraphicRect(0,128*Animation,127,127+128*Animation);}
		else if(GetSpeedX()>0){SetGraphicRect(256,384,383,511);}
		else if(GetSpeedX()<0){SetGraphicRect(256,128,383,255);}
		DrawGraphic(GetX(),GetY());
		}

    	task TAnime{
		loop{
			Animation=0;
        		loop(10){yield;}
			Animation=1;
        		loop(10){yield;}
			Animation=2;
        		loop(10){yield;}
			}
		}
}


script_enemy DOLL01 {
        let count=0;
        let cx=GetCenterX();
        let cy=GetCenterY();
        let csd     = GetCurrentScriptDirectory;
        let angle=0;
        let angleX=0;
        let angleY=0;
	let Animation=0;
	let MAnimation=0;
        let imgBoss2 =csd~"img\dot_utuho.png";

    @Initialize {
        SetLife(100);
        SetInvincibility(200);
        SetShotDirectionType(ABSOLUTE);
	SetMovePosition02(cx-100,200,40);
	SetDamageRateEx(0,0,75,0);
	TAnime;
    }
        @MainLoop
        {
	if(count>=200&&count%600==200){
			SetMovePosition02(508,rand(100,200),40);
			Tset;
		}
	if(count>=200&&count%600==250){
			SetMovePosition02(-60,rand(200,300),40);
		}
	if(count>=200&&count%600==300){
			SetMovePosition02(rand(cx+150,348),rand(100,200),50);
		}

	if(count>=200&&count%600==500){
			SetMovePosition02(-60,rand(100,200),40);
			Tset;
		}
	if(count>=200&&count%600==550){
			SetMovePosition02(508,rand(200,300),40);
		}
	if(count>=200&&count%600==0){
			SetMovePosition02(rand(cx-150,100),rand(100,200),50);
		}
        	SetCollisionA(GetX(),GetY(),32);
        	SetCollisionB(GetX(),GetY(),24);
        	count++;
        yield;
        }

    @Finalize {
        DeleteGraphic(imgBoss2);
    }

        @DrawLoop {
		SetRenderState(ALPHA);
		SetTexture(imgBoss2);
		SetGraphicScale(1,1);
		SetAlpha(255);
		SetColor(255,255,255);
		SetGraphicAngle(0,0,0);
		if(int(GetSpeedX())==0)
		{SetGraphicRect(0,128*Animation,127,127+128*Animation);}
		else if(GetSpeedX()>0){SetGraphicRect(256,384,383,511);}
		else if(GetSpeedX()<0){SetGraphicRect(256,128,383,255);}
		DrawGraphic(GetX(),GetY());
		}

    	task TAnime{
		loop{
			Animation=0;
        		loop(5){yield;}
			Animation=1;
        		loop(5){yield;}
			Animation=2;
        		loop(5){yield;}
			}
		}

    	task Tset{
		loop(10){
			CreateEnemyFromScript("DOLL02",GetX,GetY,0,0,1);
        		loop(15){yield;}
			}
		}
}

script_enemy DOLL02 {
	let count=0;
	let angle=0;
	let csd     = GetCurrentScriptDirectory;
        let imgBoss2 =csd~"img\dot_utuho.png";

	@Initialize
	{
		SetLife(30);
	}
	
	@MainLoop
	{
        	if(count==1)
        	{
        	TShotA;
        	}
        	if(count==140)
        	{
        	VanishEnemy();
        	}
		count++;
	yield;
	}

        @DrawLoop {
		SetRenderState(ALPHA);
		SetTexture(imgBoss2);
		SetGraphicScale(1,1);
		SetAlpha(255);
		SetGraphicRect(0,0,1,1);
		SetGraphicAngle(0,0,0);
		DrawGraphic(GetX(),GetY());
	}
        
        @Finalize
        {
        } 

    task TShotA {
        	shotBomA;
        	loop(60){yield;}
        	shotBomC;
        	loop(10){yield;}
        	shotBomD;
	}
    sub shotBomA {
        	let i = 0;
        	while( i < 10 )
        	{
		let id   = 0;
		CreateShotA(id,GetX,GetY,50);
		SetShotDataA(id,0,2,i*36,0,0,2,AQUA03);
		SetShotKillTime(id,30);
		FireShot(id);
        	i++;
		}
	yield;
    }
    sub shotBomB {
        	let j = 0;
        	while(j<10)
        	{
        	let i = 0;
        	while(i<15)
        	{
		let id   = 0;
        	SetShotDirectionType(ABSOLUTE);
		CreateShotA(id,GetX+cos(angle+36*j)*40,GetY+sin(angle+36*j)*40,0);
		SetShotDataA(id,0,2,i*24,0,0,0,AQUA02);
		SetShotKillTime(id,30);
		FireShot(id);
        	i++;
		}
        	j++;
		}
	yield;
    }
    sub shotBomC {
        	let j = 0;
        	while(j<15)
        	{
        	let i = 0;
        	while(i<20)
        	{
		let id   = 0;
        	SetShotDirectionType(ABSOLUTE);
		CreateShotA(id,GetX+cos(angle+24*j)*60,GetY+sin(angle+24*j)*60,0);
		SetShotDataA(id,0,rand(2,2.5),i*18,0,0,0,AQUA04);
		SetShotKillTime(id,30);
		FireShot(id);
        	i++;
		}
        	j++;
		}
	yield;
    }
    sub shotBomD {
        	let i = 0;
        	while( i < 20 )
        	{
		let id   = 0;
        	SetShotDirectionType(ABSOLUTE);
		CreateShotA(id,GetX,GetY,5);
		SetShotDataA(id,0,rand(1,5),rand(0,360),0,rand(-0.2,-0.01),1,AQUA01);
		FireShot(id);
        	i++;
		}
	yield;
    }
}