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

function dead {
    SetDamageRate(0,0);

    if (N17==50) {
        if (GetLife>=200) {
            AddScore(500000);
        }
        CreateEnemyFromFile(GetCurrentScriptDirectory~"Servant10.txt",GetX,GetY,0,0,1);
        PlaySE(GetCurrentScriptDirectory~"\se\crash16_c.wav");
        //ascent(let tt in 0..30){CreateShot02(GetX()+50*cos(tt*12),GetY()+50*sin(12*tt),0,80*sin(GetX*85)+tt*12,0.1,1.2,170,30);}
        ascent(let tt in 0..30) {
            CreateShotA(n,GetX()+50*cos(tt*12),GetY()+50*sin(12*tt),30);
            SetShotDataA(n,0,0,80*sin(GetX*85)+tt*12,0,0.1,0.6,170);
            SetShotDataA(n,40,NULL,NULL,0,-0.02,0.1,170);
            SetShotDataA(n,80,NULL,NULL,0,0.015,2.2,170);
            FireShot(n);
        }
        ascent(let t in 0..3) {
            ascent(let tt in 0..4+4*(GetCommonDataDefault("ii1",0)<2000)) {
                CreateShot02(GetX(),GetY(),0,t*120+rand(0,120),0.01+rand(0,1)*0.01,2.2+rand(0,0.4),72,30);
            }
        }
    }

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

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


@MainLoop
{
    if (count%5==0) {
        life=GetLife();
    }if (ten==1&&count%5==1) {
        ten=0;
    }
    if (count%5==4&&GetLife()<life&&GetLife()>200) {
        ten=1;
    }
    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(180);
    }
    if (GetLife<400) {
        dead;
    }
    count++;

}

@Finalize
{	if (N17<=0) {
CreateItem(ITEM_SCORE,GetX(),GetY());
    SetColor(155,0,0);
    Explosion01(GetX,GetY,3,0.02,180);
}
}

@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);
    if (ten==1) {
        SetColor(60,60,120);
    }
    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);
    if (ten==1) {
        SetColor(60,60,120);
    }
    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);
    if (ten==1) {
        SetColor(60,60,120);
    }
    DrawGraphic(GetX(),GetY());

}
}
