
#Title[Eʏe1]
#Text[Eʏe1]
#Player[FREE]
#ScriptVersion[2]

script_enemy_main{
    #include_script".\Local.txt"
   let imgBOSS = csd~"img\dot_mugetu.png";
   let shotData = csd ~ "data_usershot.txt";
  let effect = csd ~ "img\circle.png";

   @Initialize{
 SetCommonDataEx("","bg",3);
           SetLife(2000);
      SetDamageRate(100,10);
     /*      SetTimer(30);  */
           SetInvincibility(120);
         sgr(0,0);
/*SetMovePosition03(GetCenterX,GetClipMinY+120,20,10);*/
        SetAlpha(255);
           LoadGraphic(imgBOSS);
    LoadGraphic(effect);
          LoadUserShotData(shotData);
           TMain;
    }

   @MainLoop{
    if(OnEvent){break;}
           SetCollisionA(GetX, GetY, 24);
           SetCollisionB(GetX, GetY, 18);

         yield;
       }

   @DrawLoop{
         SetTexture(imgBOSS);  
        DrawGraphic(GetX,GetY);
     }

    @Finalize{
        DeleteGraphic(imgBOSS);
        DeleteGraphic(effect);
     }
 
     task TMain{
  yield;
 CreateEventFromScript("Talk");
  while(OnEvent){ wait(1);}
 SetMovePosition03(GetCenterX,GetClipMinY+120,20,10);
  CreateEventFromScript("Talk2");
   while(OnEvent){ wait(1);}
  Circle2(60);
  SetTimer(30);
   SetInvincibility(120);
    wait(30);
     Move;
          wait(90);
        Shot;
    loop{
   if(OnBomb){SetDamageRate(10,20);}
     else{SetDamageRate(100,10);}
    wait(1);
      }
    }

   task Shot{
     Shot1;
    task Shot1{
    let way = 72;
    loop{
      ascent(a in 0..way){
      let base = 360/way*a;
      let x = GetX;
      let y = GetY;
     ascent(v in 0..2){
      CreateShot02(x,y,6,base,-0.2,2-v*0.5,RED12,10);
          }
      }
      PlaySE(seshot1);
       wait(60);
         }
       }
    }

    task Move{
 loop{
   let f = 1;
  let r = rand_int(0,1);
 if(GetX < minx+64){r = 0;}
    else if(GetX > maxx-64){r = 1;}
    let x = GetX + 48*(-1)^r;
    let y = GetY + rand(-48,48);
    if(y < miny+48){y = miny+48;}
    else if(y > miny+160){y = miny+160;}
  /* if(GetX > x){sgr(2,1);}
   else if(GetX < x){sgr(2,3);}  */
    SetMovePosition03(x,y,15,f);
     wait(90);
      }
    }

    function offsetX(radius,angle){
           return radius * cos(angle);
     }

        function offsetY(radius,angle){
            return radius * sin(angle);
     }           

       function move(f){
          SetMovePosition02(rand(GetClipMinX+60,GetClipMaxX-60),GetY+rand(-20,20),f);
     }
            
        function sc(r,g,b){
             SetShotColor(r,g,b);
     }

  function sgr(a,b){SetGraphicRect(a*128,b*128,(a+1)*128,(b+1)*128);}

       function wait(w){
                loop(w){yield;}
       }
}

script_event Talk{
    @Initialize{
  }
    @MainLoop{
  if(GetPlayerType == REIMU_A || GetPlayerType == REIMU_B){
       TextOutA("\c[BLUE]̌΂̗dĂȂɋH\nʂɖȂ\n
AǂĂɁucv̂H\n
EEEEEE\n\n
ʂȂ炱ŒN񂾂");
 TextOutA("\c[RED]܂傤H");
 TextOutA("\c[BLUE]!");
         }
   else if(GetPlayerType == MARISA_A || GetPlayerType == MARISA_B){
      TextOutA("\c[BLUE]ȂȂ̒e\n܂^炢ɂ͂Ȃ\n
ꍇA낻{XoĂ񂾂\n
EEEҊOꂾH");
 TextOutA("\c[RED]ȂƂȂ񂶂ȂH");
 TextOutA("\c[BLUE]!");
         }  
       End;
      }
   @Finalize{
      }
    }

script_event Talk2{
    @Initialize{
  }
    @MainLoop{
  if(GetPlayerType == REIMU_A || GetPlayerType == REIMU_B){
    TextOutA("\c[RED]炢Ȃ");
    TextOutA("\c[BLUE]ႠǁAԂ̘c݂͂񂽂̎dƁH");
     TextOutA("\c[RED]\n\n
ƂA̐̂ɋ͖́H");
    TextOutA("\c[BLUE]ɂȂĂȂ\n񂽂̐̂ȂĈڗđRȂ\n
肱́ucvǂɂȂȂ́H\n\n
ԂdCRāAdُɂȂĂ񂾂");
  TextOutA("\c[RED]ȂƌĂˁEEE");
    TextOutA("\c[BLUE]ႠA̋Ԃ");
     TextOutA("\c[RED]H");
   TextOutA("\c[BLUE]񂽂𕕈󂷂");
     TextOutA("\c[RED]kłH\nuv̐lԂƂɏo邩");
   TextOutA("\c[BLUE]uvȂāAuޏvI");
   TextOutA("\c[RED]ǂł\nAlԂ̖ȂĉƂvĂȂ"); 
         }

   else if(GetPlayerType == MARISA_A || GetPlayerType == MARISA_B){
    TextOutA("\c[RED]{X̓o");
    TextOutA("\c[BLUE]EEEEEE");
     TextOutA("\c[RED]ŖقĂ̂");
    TextOutA("\c[BLUE]AOAǁ[āEEE\n\n
Ch");
  TextOutA("\c[RED]ڂŔf񂶂Ȃ\n\n
čDłȊiDĂ킯Ȃ");
   TextOutA("\c[BLUE]H@\ĂƎv");
     TextOutA("\c[RED]ŁAɗ񂾂");
 TextOutA("\c[BLUE]ɒׂ");
     TextOutA("\c[RED]EEEEEE");
   TextOutA("\c[BLUE]ƁAO҂Ȃ̂");
   TextOutA("\c[RED]A|Ƃ");
   TextOutA("\c[BLUE]EEEChȂ̂H");
         }  
       End;
      }
   @Finalize{
      }
    }