script_enemy_main
{
    let count=0;//藠H
    let Level=0;
    let ran=0;
    let mm=0;
    let N17=0;
    let life=0;
    let ten=0;

function dead {
    SetDamageRate(0,0);

    if (N17==50) {
        PlaySE(GetCurrentScriptDirectory~"\se\bom27_b.wav");
        CreateEnemyFromFile(GetCurrentScriptDirectory~"Servant10.txt",GetX,GetY,0,0,1);
        SetCommonData("ii1",GetCommonDataDefault("ii1",0)+GetCommonDataDefault("ii2",0));
        SetCommonData("ii3",1);
        loop(3) {
            CreateItem(ITEM_SCORE,GetX()+rand(-30,30),GetY()+rand(10,30));
        }
    }

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

@Initialize
{
    SetLife(5416);
    if (GetPlayerType()==REIMU_A) {
        SetLife(5445);
    }
    SetScore(20000);
    Level+=GetPlayerLife();
    SetAngle(90);
}


@MainLoop
{
    if (count%4==0) {
        life=GetLife();
    }if (ten==1&&count%4==1) {
        ten=0;
    }
    if (count%4==3&&GetLife()<life&&GetLife()>0) {
        ten=1;
    }
    if (GetArgument<=1) {
        if (count>440) {
            VanishEnemy;
        }
        if (GetLife<5400) {
            dead;
        }
        if (GetArgument==0&&GetCommonDataDefault("Go",0)>0) {
            if (count%56==0&&count<=130) {
                PlaySE(GetCurrentScriptDirectory~"\se\Shot00.wav");
                if (GetCommonDataDefault("ii1",0)>=500) {
                    CreateShot02(GetX(),GetY()-8,0,rand(80,100),0.01,2.6+Level*0.4,72,25);
                }
            }
        }
        if (GetArgument==1&&GetCommonDataDefault("Go",0)>0) {
            if (count%56==0&&count<=130) {
                PlaySE(GetCurrentScriptDirectory~"\se\Shot00.wav");
                if (GetCommonDataDefault("ii1",0)>=500) {
                    CreateShot02(GetX(),GetY()-8,1.7,rand(70,110),0.01,2.6+Level*0.4,72,25);
                }
            }
        }
        if (count==0) {
            SetSpeed(1.8+(GetCommonDataDefault("miss",0)==2)*1.45);
            SetAngle(90);
        }SetCollisionA(GetX(),GetY(),14);
        SetCollisionB(GetX(),GetY(),5+(GetCommonDataDefault("miss",0)==2)*3);
        if (GetX<=-20 || GetX>=480 || GetY<=-100 || GetY>=750) {
            VanishEnemy;
        }
        if (count<=0&&GetCenterX()<GetX()) {
            ran=0;
        }
        if (count<=0&&GetCenterX()>=GetX()) {
            ran=1;
        }
        if (count>90&&count<=150&&ran==0) {
            SetAngle(count);
        }
        if (count>90&&count<=150&&ran==1) {
            SetAngle(180-count);
        }
    }

    count++;

}

@Finalize
{
    if (BeVanished==false) {
        CreateEnemyFromFile(GetCurrentScriptDirectory~"Servant10.txt",GetX,GetY,0,0,1);
        SetCommonData("ii1",GetCommonDataDefault("ii1",0)+GetCommonDataDefault("ii2",0));
        SetCommonData("ii3",1);
        loop(3) {
            CreateItem(ITEM_SCORE,GetX()+rand(-18,18),GetY()+rand(38,64));
        }
    }
    if (BeVanished==false&&GetArgument>=2) {
        loop(4) {
            CreateItem(ITEM_SCORE,GetX()+rand(-18,18),GetY()+rand(38,64));
        }
    }
}

@DrawLoop
{
    if (GetArgument==2||GetArgument==3) {
        SetTexture(GetCurrentScriptDirectory~"\img\familiar.png");
        if (count<=20) {
            SetColor(0,0,0);
        }
        if (count>=20&&count<41) {
            SetColor((count-20)*10,(count-20)*10,(count-20)*10);
        }
        if (count>=41) {
            SetColor(211,211,211);
        }
        if (count>=50) {
            SetColor(211-(count-50)*12,211-(count-50)*12,211-(count-50)*12);
            if (211-(count-50)*12<=0) {
                SetColor(0,0,0);
            }
        }
        SetGraphicAngle(0,0,0);
        SetGraphicScale(1,1);
        SetAlpha(255);
        SetRenderState(ADD);
        SetGraphicRect(144,48,192,96);
        DrawGraphic(GetX(),GetY());

        SetTexture(GetCurrentScriptDirectory~"\img\dot-kaze-ti.png");
        SetAlpha(255);
        SetGraphicRect(64,0,128,64);
        SetRenderState(ALPHA);
        SetColor(225+count%4*30,225+count%4*30,225+count%4*30);
        SetGraphicScale(0.95,0.95);
        SetGraphicAngle(0,0,-count*5);
        if (ten==1) {
            SetColor(90,90,160);
        }
        DrawGraphic(GetX(),GetY());

        SetGraphicRect(0,0,64,64);
        SetColor(255,255,255);
        SetGraphicScale(0.8,0.8);
        SetGraphicAngle(0,0,count*4);
        if (ten==1) {
            SetColor(90,90,160);
        }
        DrawGraphic(GetX(),GetY());
    }

    else {
        SetTexture(GetCurrentScriptDirectory~"\img\dot-kaze-ti.png");
        SetGraphicAngle(0,0,count*4);
        SetColor(255,255,255);
        SetGraphicRect(224,64,256,96);
        if (GetArgument==1) {
            SetGraphicRect(192,64,224,96);
        }
        //if(GetArgument==2||GetArgument==3){SetGraphicRect(128,64,160,96);SetGraphicAngle(0,0,count*18);}
        if (GetCommonDataDefault("miss",0)==2) {
            SetGraphicRect(192,96,224,128);
            SetGraphicAngle(0,0,count*9);
        }
        SetGraphicScale(1.5,1.5);
        if (ten==1) {
            SetColor(90,90,160);
        }
        DrawGraphic(GetX(),GetY());
    }

}
}