
#Title[ʗut[CgT_[v]
#Text[]
#BGM[]
#ScriptVersion[2]


script_enemy_main {let name = "ʗut[CgT_[v";
let csd     = GetCurrentScriptDirectory;
    let imgBoss   = csd ~ "Boss.png";
    let frame     =  0;
    let angleBase = 90;
let angle2 = 0;
        let count;//eoԊu𐧌䂷邽߂̕ϐ;
	let count2;//eoԊu𐧌䂷邽߂̕ϐ;
	let cx;//ϐcxɐ^񒆂̍W;
	let kari=1;
        let angle=90;
let count3;
let ID = 0;
let count4;
let wIni    = 120;
let angle3=120;
let angle4=240;


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



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

        SetLife(2000);
        SetTimer(85);
        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𐧌䂷邽߂̕ϐ;
count4=0;
count3=0;		
cx=GetCenterX();//ϐcxɐ^񒆂̍W;

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

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

//eXNvg
frame++;
if(frame==14){let angle = angleBase - 0;
loop(6){CreateShot01(GetX,GetY,1.4,angle,RED23,-20);
angle = angle+60;}
angleBase += 60;}
if(frame==15){let angle = angleBase + 10;
loop(6){CreateShot01(GetX,GetY,1.4,angle,ORANGE23,2);
angle = angle+60;}
angleBase += 60;}
if(frame==16){let angle = angleBase + 20;
loop(6){CreateShot01(GetX,GetY,1.4,angle,YELLOW23,2);
angle = angle+60;}
angleBase += 60;}
if(frame==17){let angle = angleBase +30;
loop(6){CreateShot01(GetX,GetY,1.4,angle,GREEN23,2);
angle = angle+60;}
angleBase += 60;}
if(frame==18){let angle = angleBase +40;
loop(6){CreateShot01(GetX,GetY,1.4,angle,AQUA23,2);
angle = angle+60;}
angleBase += 60;}
if(frame==19){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;}

count4++;
angle2+=89;
angle3+=89;
angle4+=89;
if(count4==9){CreateShot01(GetX(),GetY(),6,angle2,YELLOW32,0);}
if(count4==9){CreateShot01(GetX(),GetY(),6,angle3,YELLOW32,0);}
if(count4==9){CreateShot01(GetX(),GetY(),6,angle4,YELLOW32,-50);count4 = 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);
loop(10){CreateItem(ITEM_SCORE,GetX+rand(-100,100),GetY+rand(-50,30))}
CreateItem(ITEM_1UP,GetX,GetY)}

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

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

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