
#Title[ʁut[T_[v]
#Text[]
#ScriptVersion[2]

script_enemy_main {let name = "ʁut[T_[v";
let csd     = GetCurrentScriptDirectory;
        let imgBoss   = csd ~ "Boss.png";
    let frame     =  0;
    let angleBase = 90;

        let count;//eoԊu𐧌䂷邽߂̕ϐ;
	let count2;//eoԊu𐧌䂷邽߂̕ϐ;
	let cx;//ϐcxɐ^񒆂̍W;
	let angle_b=0;
	let kari=1;
        let angle=90;
let count3;
let ID = 0;
let wIni    = 120;


//ʒu
let xIni = GetCenterX;
let yIni = GetClipMaxY - 32;

    @Initialize {CutIn(KOUMA, name, "", 0, 0, 0, 0);

        SetLife(2000);
        SetTimer(67);
        SetScore(9000000);
        SetDamageRate(70,50);
        LoadGraphic(imgBoss);
        SetTexture(imgBoss);
        SetGraphicRect(1, 1, 64, 64);
SetInvincibility(420);
SetDamageRate(65, 0);
SetMovePosition02(GetCenterX, GetClipMinY + 120, wIni);
TMain;}
        count=-100;//eoԊu𐧌䂷邽߂̕ϐ;
		count2=-100;//eoԊu𐧌䂷邽߂̕ϐ;
count3=0;		
cx=GetCenterX();//ϐcxɐ^񒆂̍W;

@MainLoop {SetCollisionA(GetX, GetY, 32);

 SetCollisionB(GetX, GetY, 16);
count3++;
if(count3==120){TConcentration;}
if(count3>=230){

//eXNvg
frame++;
if(frame==17){let angle = angleBase - 0;
loop(6){CreateShot01(GetX,GetY,1.4,angle,RED23,-20);
angle = angle+60;}
angleBase += 60;}
if(frame==18){let angle = angleBase + 10;
loop(6){CreateShot01(GetX,GetY,1.4,angle,ORANGE23,2);
angle = angle+60;}
angleBase += 60;}
if(frame==19){let angle = angleBase + 20;
loop(6){CreateShot01(GetX,GetY,1.4,angle,YELLOW23,2);
angle = angle+60;}
angleBase += 60;}
if(frame==20){let angle = angleBase +30;
loop(6){CreateShot01(GetX,GetY,1.4,angle,GREEN23,2);
angle = angle+60;}
angleBase += 60;}
if(frame==21){let angle = angleBase +40;
loop(6){CreateShot01(GetX,GetY,1.4,angle,AQUA23,2);
angle = angle+60;}
angleBase += 60;}
if(frame==22){let angle = angleBase +50;
loop(6){CreateShot01(GetX,GetY,1.4,angle,PURPLE23,2);
angle = angle+60;}
angleBase += 60;
frame = 0;}

//[U[ƌp̒ẽXNvg
count2++;
if(count2==67){let angle = angleBase +0;
CreateLaserA(ID,GetX(),GetY(),1200,15,RED12,30);
SetLaserDataA(ID,0,angle,0,0,0,0);
SetShotKillTime(ID,90);
FireShot(ID);
angle += 30;}
if(count2==67){let angle = angleBase +30;
CreateLaserA(ID,GetX(),GetY(),1200,15,ORANGE12,30);
SetLaserDataA(ID,0,angle,0,0,0,0);
SetShotKillTime(ID,90);
FireShot(ID);
angle += 30;}
if(count2==67){let angle = angleBase +60;
CreateLaserA(ID,GetX(),GetY(),1200,15,YELLOW12,30);
SetLaserDataA(ID,0,angle,0,0,0,0);
SetShotKillTime(ID,90);
FireShot(ID);
angle += 30;}
if(count2==67){let angle = angleBase +90;
CreateLaserA(ID,GetX(),GetY(),1200,15,GREEN12,30);
SetLaserDataA(ID,0,angle,0,0,0,0);
SetShotKillTime(ID,90);
FireShot(ID);
angle += 30;}
if(count2==67){let angle = angleBase +120;
CreateLaserA(ID,GetX(),GetY(),1200,15,AQUA12,30);
SetLaserDataA(ID,0,angle,0,0,0,0);
SetShotKillTime(ID,90);
FireShot(ID);
angle += 30;}
if(count2==67){let angle = angleBase +150;
CreateLaserA(ID,GetX(),GetY(),1200,15,BLUE12,30);
SetLaserDataA(ID,0,angle,0,0,0,0);
SetShotKillTime(ID,90);
FireShot(ID);
angle += 30;}
if(count2==67){let angle = angleBase -150;
CreateLaserA(ID,GetX(),GetY(),1200,15,BLUE12,30);
SetLaserDataA(ID,0,angle,0,0,0,0);
SetShotKillTime(ID,90);
FireShot(ID);
angle += 30;}
if(count2==67){let angle = angleBase -120;
CreateLaserA(ID,GetX(),GetY(),1200,15,AQUA12,30);
SetLaserDataA(ID,0,angle,0,0,0,0);
SetShotKillTime(ID,90);
FireShot(ID);
angle += 30;}
if(count2==67){let angle = angleBase -90;
CreateLaserA(ID,GetX(),GetY(),1200,15,GREEN12,30);
SetLaserDataA(ID,0,angle,0,0,0,0);
SetShotKillTime(ID,90);
FireShot(ID);
angle += 30;}
if(count2==67){let angle = angleBase -60;
CreateLaserA(ID,GetX(),GetY(),1200,15,YELLOW12,30);
SetLaserDataA(ID,0,angle,0,0,0,0);
SetShotKillTime(ID,90);
FireShot(ID);
angle += 30;}
if(count2==67){let angle = angleBase -30;
CreateLaserA(ID,GetX(),GetY(),1200,15,ORANGE12,30);
SetLaserDataA(ID,0,angle,0,0,0,0);
SetShotKillTime(ID,90);
FireShot(ID);
angle += 30;}

if(count2==67){let angle = angleBase -204;
loop(5){CreateShot01(GetX(),GetY(),7,angle,YELLOW32,0);
angle += 12;}
angleBase +=0;}
if(count2==67){let angle = angleBase -204;
loop(5){CreateShot01(GetX(),GetY(),7,angle,YELLOW32,6);
angle += 12;}
angleBase +=0;}
if(count2==67){let angle = angleBase -204;
loop(5){CreateShot01(GetX(),GetY(),7,angle,YELLOW32,12);
angle += 12;}
angleBase +=0;}
if(count2==67){let angle = angleBase -204;
loop(5){CreateShot01(GetX(),GetY(),7,angle,YELLOW32,18);
angle += 12;}
angleBase +=0;}
if(count2==67){let angle = angleBase -204;
loop(5){CreateShot01(GetX(),GetY(),7,angle,YELLOW32,24);
angle += 12;}
angleBase +=0;}
if(count2==67){let angle = angleBase -204;
loop(5){CreateShot01(GetX(),GetY(),7,angle,YELLOW32,30);
angle += 12;}
angleBase +=0;}
if(count2==67){let angle = angleBase -204;
loop(5){CreateShot01(GetX(),GetY(),7,angle,YELLOW32,36);
angle += 12;}
angleBase +=0;
count2 = 0;}

//ȉAړXNvg
count++;
if(count-int(count/147)*147==0)
{SetMovePosition02(400,70,70);}
if(count-int(count/294)*294==0)
{SetMovePosition02(75,40,70);}
if(count-int(count/441)*441==0)
{SetMovePosition02(350,70,70);}
if(count-int(count/588)*588==0)
{SetMovePosition02(150,40,70);}
if(count-int(count/735)*735==0)
{SetMovePosition02(200,250,70);
count = 0;}
SetCollisionA(GetX(),GetY(),32);
SetCollisionB(GetX(),GetY(),24);}}

@DrawLoop {DrawGraphic(GetX, GetY);}
@Finalize {DeleteGraphic(imgBoss);
CreateItem(ITEM_BOMB,GetX,GetY);
loop(10){CreateItem(ITEM_SCORE,rand(GetX-20,GetX+20),rand(GetY-15,GetY+15))}
}

task TMain{yield;standBy;}

sub standBy{SetMovePosition02(GetCenterX, GetClipMinY + 120, wIni);}

task TConcentration{concentration;}
sub concentration {let wConc = 60;
    Concentration02(wConc);
    wait(wConc);}

function wait(wConc){loop(wConc){yield;}}}