script_enemy_main {
let randnum = rand(-2, 2);
let frame1 = 30;
let frame2 = 0;
let frame3 = 0;
let frame4 = 0;
let frame5 = 0;
let frame6 = 0;
let frame7 = 0;
let frame8 = 0;
let frame9 = 0;
let frame10 = 0;
let frame11 = 0;
let anim1 = 30;
let anim2 = 0;
let anim3 = 0;
let a1 = 0;
let a2 = 0;
let a3 = 0;
let a4 = 0;
let a5 = 0;
let a6 = 0;
let a7 = 0;
let a8 = 0;
let acc1 = 0;
let acc2 = 0;
let acc3 = 0;
let acc4 = 0;
let acc5 = 0;
let acc6 = 0;
let acc7 = 0;
let acc8 = 0;
let acc9 = 0;
let acc10 = 0;
let acc11 = 0;
let acc12 = 0;
let angle1 = 0;
let kospin = 0;
let angle3 = 0;

let SP = GetCurrentScriptDirectory~"sp/sp.png";
let Custom = GetCurrentScriptDirectory~"sup\supershot.txt";
let sh1 = GetCurrentScriptDirectory~"shot.wav";
let sh2 = GetCurrentScriptDirectory~"shot2.wav";

    @Initialize {

SetMovePosition03(GetX, GetY+100, 15, 5);
LoadUserShotData(Custom);
LoadSE(sh1);
LoadSE(sh2);
LoadGraphic(SP);
SetLife(50);
SetInvincibility(90);
    }
function wait(w){ loop(w){ yield; }}



task DoubleSpoiler{
	PlaySE(GetCurrentScriptDirectory~"shot3.wav");
	let randnum = rand(0, 360);
	loop(30){
	CreateShot01(GetX, GetY, 3, GetAngleToPlayer+angle1, 51, 0);
	CreateShot01(GetX, GetY, 1.75, randnum+angle1+20, 51, 0);
	angle1+=360/30;
	}
	}
	

    @MainLoop {
yield;
SetCollisionA(GetX, GetY, 32);
SetCollisionB(GetX, GetY, 24);
     

if(frame1==120){
DoubleSpoiler;
} 

if(GetArgument<1){
if(frame3>130){
SetMovePosition03(GetX-5, GetY+randnum, 2, 15);
}
}

if(GetArgument==1){
if(frame3>130){
SetMovePosition03(GetX+5, GetY+randnum, 2, 15);
}
}
if(GetX<GetClipMinX-20 || GetX>GetClipMaxX+20){
VanishEnemy;
}
        frame1++;
        frame2++;
        frame3++;
        frame4++;
    }

    @DrawLoop {
anim1++;
if (anim1 >= 30 && anim1 <= 40 && GetSpeedX == 0){
SetTexture(SP);
SetRenderState(ALPHA);
SetGraphicAngle(0,0,0);
SetGraphicScale(1,1);
SetGraphicRect(63, 320, 96, 349);
SetAlpha(255);
DrawGraphic(GetX, GetY);
}
if (anim1 >= 40 && anim1 <= 50 && GetSpeedX == 0){
SetTexture(SP);
SetRenderState(ALPHA);
SetGraphicAngle(0,0,0);
SetGraphicScale(1,1);
SetGraphicRect(96, 320, 128, 349);
SetAlpha(255);
DrawGraphic(GetX, GetY);
}
if (anim1 >= 50 && anim1 <= 60 && GetSpeedX == 0){
SetTexture(SP);
SetRenderState(ALPHA);
SetGraphicAngle(0,0,0);
SetGraphicScale(1,1);
SetGraphicRect(128, 320, 160, 349);
SetAlpha(255);
DrawGraphic(GetX, GetY);
}


if (anim1 >= 30 && anim1 <= 40 && GetSpeedX > 0){
SetTexture(SP);
SetRenderState(ALPHA);
SetGraphicAngle(0,0,0);
SetGraphicScale(1,1);
SetGraphicRect(256, 320, 288, 349);
SetAlpha(255);
DrawGraphic(GetX, GetY);
}
if (anim1 >= 40 && anim1 <= 50 && GetSpeedX > 0){
SetTexture(SP);
SetRenderState(ALPHA);
SetGraphicAngle(0,0,0);
SetGraphicScale(1,1);
SetGraphicRect(288, 320, 319, 349);
SetAlpha(255);
DrawGraphic(GetX, GetY);
}
if (anim1 >= 50 && anim1 <= 60 && GetSpeedX > 0){
SetTexture(SP);
SetRenderState(ALPHA);
SetGraphicAngle(0,0,0);
SetGraphicScale(1,1);
SetGraphicRect(319, 320, 352, 349);
SetAlpha(255);
DrawGraphic(GetX, GetY);
}




if (anim1 >= 30 && anim1 <= 40 && GetSpeedX < 0){
SetTexture(SP);
SetRenderState(ALPHA);
SetGraphicAngle(0,0,0);
SetGraphicScale(-1,1);
SetGraphicRect(256, 320, 288, 349);
SetAlpha(255);
DrawGraphic(GetX, GetY);
}
if (anim1 >= 40 && anim1 <= 50 && GetSpeedX < 0){
SetTexture(SP);
SetRenderState(ALPHA);
SetGraphicAngle(0,0,0);
SetGraphicScale(-1,1);
SetGraphicRect(288, 320, 319, 349);
SetAlpha(255);
DrawGraphic(GetX, GetY);
}
if (anim1 >= 50 && anim1 <= 60 && GetSpeedX < 0){
SetTexture(SP);
SetRenderState(ALPHA);
SetGraphicAngle(0,0,0);
SetGraphicScale(-1,1);
SetGraphicRect(319, 320, 352, 349);
SetAlpha(255);
DrawGraphic(GetX, GetY);
}
if (anim1 == 60){
anim1 = 30;
}
acc1 += 13;
acc2 += 9;
 }
    @Finalize {
if(GetX>GetClipMinX-10 && GetX<GetClipMaxX+10 && GetY>GetClipMinY-10 && GetY<GetClipMaxY+10){
PlaySE(GetCurrentScriptDirectory~"explode.wav");
loop(rand(0,1)){
CreateItem(ITEM_SCORE,GetX + rand(-10,10),GetY + rand(-10,10));
}
}
    }
}
