
script_enemy_main
{
    let count=0;
    let cx=GetCenterX();
    let N16=0;
    let life=0;
    let timeout=0;

    @Initialize
    {
        SetLife(3000);
        SetDamageRate(100,10);
    }


    @MainLoop
    {
        if (GetLife<=400) {
            SetDamageRate(0,0);
            if (N16==50) {
                if (cx!=-60) {
                    AddScore(5000000);
                }
                CreateEnemyFromFile(GetCurrentScriptDirectory~"Servant10.txt",GetX,GetY,0,0,4-timeout);
                Explosion01(GetX,GetY,16,0.2,40);
                if (timeout==0) {
                    PlaySE(GetCurrentScriptDirectory~"\se\Baaaaaaaan.wav");
                }
                else {
                    PlaySE(GetCurrentScriptDirectory~"\se\Baaaan2.wav");
                }
            }
            if (N16<100) {
                N16+=50;
            }
            if (N16>=100) {
                if (GetArgument==0||GetArgument==4) {
                    SetCommonData("P01",2);
                }
                if (GetArgument==1||GetArgument==5) {
                    SetCommonData("P02",2);
                }
                if (GetArgument==2) {
                    SetCommonData("P03",2);
                }
                if (GetArgument==3) {
                    SetCommonData("P04",2);
                }VanishEnemy;
            }
        }

        if (count%4==0&&count>=80) {
            life=GetLife();
        }

        if (GetArgument==0) {
            SetX(GetCommonDataDefault("x",0)-55);
            SetY(GetCommonDataDefault("y",0));
            if (count%4==3&&GetLife()<life&&GetCommonDataDefault("P01",0)==0) {
                SetCommonData("P01",1);    //AddLife(-15);
            }
            if (count>120&&GetLife>400) {
                SetCollisionA(GetX()-11,GetY()-6,22);
                SetCollisionA(GetX(),GetY()-6,22);
                SetCollisionA(GetX()+11,GetY()-6,22);
            }
            if (N16==50&&GetCommonDataDefault("P01",0)!=3) {
                loop(20) {
                    CreateItem(ITEM_SCORE,GetX()+rand(-52,52),GetY()+44+rand(-38,38));
                }
            }
            if (GetCommonDataDefault("P01",0)==1&&count%4==1) {
                SetCommonData("P01",0);
            }
            if (GetCommonDataDefault("P02",0)==2) {
                SetDamageRate(160,32);
            }
            if (GetCommonDataDefault("P01",0)==3&&GetLife>400) {
                SetLife(127);
                cx=-60;
                timeout=1;
            }
        }
        if (GetArgument==1) {
            SetX(GetCommonDataDefault("x",0)+55);
            SetY(GetCommonDataDefault("y",0));
            if (count%4==3&&GetLife()<life&&GetCommonDataDefault("P02",0)==0) {
                SetCommonData("P02",1);
            }
            if (count>120&&GetLife>400) {
                SetCollisionA(GetX()-11,GetY()-6,22);
                SetCollisionA(GetX(),GetY()-6,22);
                SetCollisionA(GetX()+11,GetY()-6,22);
            }
            if (N16==50&&GetCommonDataDefault("P02",0)!=3) {
                loop(20) {
                    CreateItem(ITEM_SCORE,GetX()+rand(-52,52),GetY()+44+rand(-38,38));
                }
            }
            if (GetCommonDataDefault("P02",0)==1&&count%4==1) {
                SetCommonData("P02",0);
            }
            if (GetCommonDataDefault("P01",0)==2) {
                SetDamageRate(160,32);
            }
            if (GetCommonDataDefault("P02",0)==3&&GetLife>400) {
                SetLife(127);
                cx=-60;
                timeout=1;
            }
        }
        if (GetArgument==2) {
            if (count==0) {
                SetLife(1400);
            }
            SetX(GetCommonDataDefault("x",0));
            SetY(GetCommonDataDefault("y",0)-35);
            if (count%4==3&&GetLife()<life&&GetCommonDataDefault("P03",0)==0) {
                SetCommonData("P03",1);
            }
            if (count>120&&GetLife>400) {
                SetCollisionA(GetX(),GetY()-31,22);
                SetCollisionA(GetX(),GetY()-21,22);
                SetCollisionA(GetX(),GetY()-11,22);
            }
            if (N16==50&&GetCommonDataDefault("P03",0)!=3) {
                loop(20) {
                    CreateItem(ITEM_SCORE,GetX()+rand(-52,52),GetY()+44+rand(-38,38));
                }
            }
            if (GetCommonDataDefault("P03",0)==1&&count%4==1) {
                SetCommonData("P03",0);
            }
            if (GetCommonDataDefault("P03",0)==3&&GetLife>400) {
                SetLife(127);
                cx=-60;
            }
            SetDamageRate(25,3);
            if (GetPlayerY-GetY>=-80&&GetPlayerY-GetY<=80) {
                SetDamageRate(100,10);
            }
        }
        if (GetArgument==3) {
            if (count==0) {
                SetLife(1800);
            }
            SetX(GetCommonDataDefault("x",0));
            SetY(GetCommonDataDefault("y",0)+35);
            if (count%4==3&&GetLife()<life&&GetCommonDataDefault("P04",0)==0) {
                SetCommonData("P04",1);
            }
            if (count>120&&GetLife>400) {
                SetCollisionA(GetX(),GetY()+111,30);
                SetCollisionA(GetX(),GetY()+81,30);
                SetCollisionA(GetX(),GetY()+51,30);
                SetCollisionA(GetX(),GetY()+21,30);
                SetCollisionA(GetX(),GetY(),22);
            }
            if (N16==50&&GetCommonDataDefault("P04",0)!=3) {
                loop(20) {
                    CreateItem(ITEM_SCORE,GetX()+rand(-52,52),GetY()+44+rand(-38,38));
                }
            }
            if (GetCommonDataDefault("P04",0)==1&&count%4==1) {
                SetCommonData("P04",0);
            }
            if (GetCommonDataDefault("P04",0)==3&&GetLife>400) {
                SetLife(127);
                cx=-60;
            }
        }

        if (GetArgument==4) {
            if (count==0) {
                SetLife(1000);
            }
            SetX(GetCommonDataDefault("x",0)-45);
            SetY(GetCommonDataDefault("y",0)-5);
            if (count%4==3&&GetLife()<life&&GetCommonDataDefault("P01",0)==0) {
                SetCommonData("P01",1);
            }
            if (GetLife>400) {
                SetCollisionA(GetX(),GetY()-(GetCommonDataDefault("P03",0)==1)*50,40);
            }
            if (N16==50&&GetCommonDataDefault("P01",0)!=3) {
                loop(25) {
                    CreateItem(ITEM_SCORE,GetX()+rand(-52,52),GetY()+44+rand(-38,38));
                }
            }
            if (GetCommonDataDefault("P01",0)==1&&count%4==1) {
                SetCommonData("P01",0);
            }
            if (GetCommonDataDefault("P01",0)==3&&GetLife>400) {
                SetLife(127);
                cx=-60;
            }
            SetCommonData("P04",1);
        }

        if (GetArgument==5) {
            if (count==0) {
                SetLife(1000);
            }
            SetX(GetCommonDataDefault("x",0)+45);
            SetY(GetCommonDataDefault("y",0)-5);
            if (count%4==3&&GetLife()<life&&GetCommonDataDefault("P02",0)==0) {
                SetCommonData("P02",1);
            }
            if (GetLife>400) {
                SetCollisionA(GetX(),GetY()-(GetCommonDataDefault("P03",0)==1)*50,40);
            }
            if (N16==50&&GetCommonDataDefault("P02",0)!=3) {
                loop(25) {
                    CreateItem(ITEM_SCORE,GetX()+rand(-52,52),GetY()+44+rand(-38,38));
                }
            }
            if (GetCommonDataDefault("P02",0)==1&&count%4==1) {
                SetCommonData("P02",0);
            }
            if (GetCommonDataDefault("P02",0)==3&&GetLife>400) {
                SetLife(127);
                cx=-60;
            }
            SetCommonData("P05",1);
        }


        count++;

    }

    @Finalize
    {
    }

    @DrawLoop
    {
    }
}