script_enemy_main
{
    let count=0;//nAz
    let HA=0;
    let n=0;
    let N17=0;

function dead {
    SetDamageRate(0,0);

    if (N17==50) {
        PlaySE(GetCurrentScriptDirectory~"\se\crash16_c.wav");
        CreateShotA(n,GetX(),GetY(),30);
        SetShotDataA(n,0,0,270,0,0,0,195);
        SetShotDataA(n,165,NULL,NULL,0,0.001,2.2,195);
        FireShot(n);
        ascent(let tt in 0..32+rand_int(0,4)) {
            CreateShotA(n,GetX()+(48+tt*(5*sin(GetY*115)))*cos(tt*12),GetY()+(38+tt*(4*sin(GetY*212)))*sin(12*tt),30);
            SetShotDataA(n,0,0,360*sin(GetX*55)+tt*(10+(8*sin(GetY*35))),0,0.1,0.4,170);
            SetShotDataA(n,40,NULL,NULL,0,-0.05,0.1,170);
            SetShotDataA(n,150+tt*(3*sin(GetY*35)),NULL,NULL,0,0.015,2.2,41);
            SetShotDataA(n,155+tt*(3*sin(GetY*35)),NULL,NULL,0,0.015,2.2,169);
            FireShot(n);
        }
        ascent(let t in 0..6) {
            ascent(let tt in 0..9) {
                CreateShot02(GetX(),GetY(),rand(1.6,2.6),-133+t*90+rand(0,90),-0.03-rand(0,1)*0.01,1+rand(0,1),72,rand_int(22,30));
            }
        }
    }

    if (N17<100) {
        N17+=50;
    }
    if (N17>=100) {
        VanishEnemy;
    }
}

@Initialize
{
    SetLife(570);
    SetAngle(rand(0,360));
    SetScore(10);
}


@MainLoop
{
    if (HA>=80) {
        SetCollisionA(GetX(),GetY(),18);
        SetCollisionB(GetX(),GetY(),8);
    }
    if (HA<100) {
        HA+=2;
    }SetSpeed(rand(-2.4,2.4));
    if (GetArgument+rand(0,35)<=count) {
        SetLife(330);
    }
    if (GetLife<400) {
        dead;
    }
    count++;

}

@Finalize
{
    CreateEnemyFromFile(GetCurrentScriptDirectory~"Servant10.txt",GetX,GetY,0,0,1);
}

@DrawLoop
{
    SetTexture(GetCurrentScriptDirectory~"\img\dot-kaze-ti.png");
    SetAlpha(255);
    SetGraphicRect(192,0,256,64);
    SetRenderState(ALPHA);
    SetColor(225+count%4*30,225+count%4*30,225+count%4*30);
    SetGraphicScale(1.12*HA/100,1.12*HA/100);
    SetGraphicAngle(0,0,-count*5);
    DrawGraphic(GetX(),GetY());

    SetAlpha(255);
    SetGraphicRect(192,0,256,64);
    SetRenderState(ALPHA);
    SetColor(225+count%4*30,225+count%4*30,225+count%4*30);
    SetGraphicScale(0.8*HA/100,0.8*HA/100);
    SetGraphicAngle(0,0,count*5);
    DrawGraphic(GetX(),GetY());

    SetGraphicRect(128,0,192,64);
    SetColor(255,255,255);
    SetGraphicScale(0.65*HA/100,0.65*HA/100);
    SetGraphicAngle(0,0,90);
    DrawGraphic(GetX(),GetY());

}
}
