script_enemy_main {
    let phase = 1;
    let angle = 90;
    let time = 0;
    let rate = 0;
    let layer = 1;
    let score = 0;
    let hyouzinum = 0;
    let rank = GetSpeed();
    let rankd = 0;
    let bairitu = 1;
    let mapx = GetX();
    let mapy = GetY();
    let arg = GetArgument();//PM͂Q{`bvRIv
    let imgEnemy = GetCurrentScriptDirectory~"img\item.png";
    let se1 = GetCurrentScriptDirectory~"wav\se1.wav";
    let se3 = GetCurrentScriptDirectory~"wav\se3.wav";
    let se7 = GetCurrentScriptDirectory~"wav\se7.wav";
    let se8 = GetCurrentScriptDirectory~"wav\se8.wav";
    let ex = GetCommonData("ex");
    @Initialize(){
        LoadGraphic( imgEnemy );
        SetLife( 10 );
        SetAngle(90);
        SetSpeed(0);
        if(arg==1){
           let a=GetCommonData("kunsyo");
           SetCommonData("kunsyonum",GetCommonData("kunsyonum")+1);
           bairitu=1.4;
           if(a==19){hyouzinum=10000;Tgazou( 64, 0, 96, 32);}
           else if(a>9){hyouzinum=a*1000-9000;Tgazou( 32, 0, 64, 32);}
           else {hyouzinum=a*100;Tgazou( 0, 0, 32, 32);}
        }
        if(arg==2){bairitu = 0.8;Tgazou( 64, 32, 96, 64);}
        if(arg==3){Tgazou( 32, 32, 64, 64);}
    }
    @MainLoop {
        if(phase==1){
           SetX(mapx-GetCommonData("bgx"));
           SetY(GetCommonData("bgy")-mapy);
           if( ((GetX-GetPlayerX)^2+(GetY-GetPlayerY)^2)<200^2 && GetKeyState(VK_SLOWMOVE)==KEY_FREE){
              phase=0;SetSpeed(8);
           }
        }
        if(phase==0){
           SetAngle(GetAngleToPlayer);
        }



        if(((GetX-GetPlayerX)^2+(GetY-GetPlayerY)^2)<30^2 && phase>-1){
           PlaySE(se7);
           if(arg==1){
              AddScore(hyouzinum);
              SetCommonData("prerank",GetCommonData("prerank")+GetCommonData("kunsyo")*0.015+0.05);
              if(GetCommonData("kunsyo")==19){
                 SetCommonData("prerank",GetCommonData("prerank")+0.1);
              }
              if(GetCommonData("prerank")>4){SetCommonData("prerank",4);}

              SetCommonData("kunsyonum",GetCommonData("kunsyonum")-1);
              if(GetCommonData("kunsyonum")==0&&GetCommonData("kunsyo")<19){
                 SetCommonData("kunsyo",GetCommonData("kunsyo")+1);
              }
           }
           if(arg==2){
              if(GetCommonData("bombchip")<100){
                 SetCommonData("bombchip",GetCommonData("bombchip")+1);
              }
              else{
                 hyouzinum=500;
                 AddScore(hyouzinum);
              }
           }
           if(arg==3){
              if(GetCommonData("option")<4){
                 SetCommonData("option",GetCommonData("option")+1);
              }
              else{
                 hyouzinum=1000;
                 AddScore(hyouzinum);
              }
           }

           SetAngle(90);SetSpeed(-1);
           phase=-1;time=0;
        }

        if(phase==-1&&time>60){VanishEnemy;}

        if(GetY>500){
           if(arg==1){
              SetCommonData("kunsyonum",GetCommonData("kunsyonum")-1);
              if(GetCommonData("kunsyonum")==0){
                 SetCommonData("kunsyo",1);
                 PlaySE(se8);
              }
           }
           VanishEnemy;
        }
        yield;
        time++;
    }
    @Finalize() {
    }
    @DrawLoop {
       if(hyouzinum>0&&phase==-1){
          DrawText(""~RealToIntString(hyouzinum)~"",GetX-20,GetY-20,24,255);
       }
    }


   task Tgazou(x1,y1,x2,y2)
   {
      let system = GetCurrentScriptDirectory~"img\system.png";
      let objenemy = Obj_Create(OBJ_EFFECT);//GtFNgIuWFNg쐬
      ObjEffect_SetTexture(objenemy, imgEnemy);//Ȃ炩̃eNX`ݒ
      ObjEffect_SetPrimitiveType(objenemy, PRIMITIVE_TRIANGLESTRIP);//v~eBu^Cvݒ
      ObjEffect_CreateVertex(objenemy, 4);//_4
      ObjEffect_SetLayer(objenemy,layer);
		
      //lp`Ɋe_̍Wݒ
      ObjEffect_SetVertexXY(objenemy, 0, -(x2-x1)*bairitu/2, -(y2-y1)*bairitu/2);
      ObjEffect_SetVertexXY(objenemy, 1, -(x2-x1)*bairitu/2,  (y2-y1)*bairitu/2);
      ObjEffect_SetVertexXY(objenemy, 2,  (x2-x1)*bairitu/2, -(y2-y1)*bairitu/2);
      ObjEffect_SetVertexXY(objenemy, 3,  (x2-x1)*bairitu/2,  (y2-y1)*bairitu/2);
		
      //lp`Ɋe_UVlݒB(0,0)-(10,10)̕B
      ObjEffect_SetVertexUV(objenemy, 0, x1, y1);
      ObjEffect_SetVertexUV(objenemy, 1, x1, y2);
      ObjEffect_SetVertexUV(objenemy, 2, x2, y1);
      ObjEffect_SetVertexUV(objenemy, 3, x2, y2);

      Obj_SetPosition(objenemy, GetX, GetY);
   
		
      while(phase>-1){
         Obj_SetX(objenemy,GetX);
         Obj_SetY(objenemy,GetY);
         yield;
      }
      Obj_Delete(objenemy);
   }

   #include_function".\efanction.txt"
}

#include_script".\escript.txt"