#e
#Title[auvlbgo[X-Easy-v]
#Text[G@Ĺu㔒dv]
#ScriptVersion[2]
#PlayLevel[Easy]
#Player[FREE]

script_enemy_main {
 let img = "script\img\ExRumia.png";
 let name = "auvlbgo[X-Easy-v";

 @Initialize {
  CutIn(KOUMA, name, "", 0, 0, 0, 0);
  SetX(GetCenterX);
  SetY(GetCenterY);
  SetLife(7000);
  SetScore(1000000);

  LoadGraphic(img);
  SetTexture(img);
  SetGraphicRect(64, 0, 128, 64);

  TMain;
 }

 @MainLoop {
  SetCollisionA(GetX, GetY, 24);
  SetCollisionB(GetX, GetY, 24);

  yield;
 }

 @DrawLoop {
  DrawGraphic(GetX, GetY);
 }

 @Finalize {
  DeleteGraphic(img);
 }

 task TMain {

  Tgravity;
  TShot;
  TShot2;
 }

 task Tgravity {
  yield;

  loop {
   wait(30);

   if(GetPlayerX < GetCenterX) {
    SetPlayerX(GetPlayerX + 1);
   }
   else if(GetPlayerX > GetCenterX) {
    SetPlayerX(GetPlayerX - 1);
   }

   if(GetPlayerY < GetCenterY) {
    SetPlayerY(GetCenterY + 1);
   }
   else if(GetPlayerY > GetCenterY) {
    SetPlayerY(GetPlayerY - 1);
   }
  }
 }

 task TShot {
  let radius = 100;
  let x = 0;
  let y = 0;
  yield;

  loop {
   loop(10) { yield; }
   CreateShotA(1, GetX + offsetX(radius, x), GetY + offsetY(radius, y), 0);
   SetShotDataA(1, 0, 0, atan2(GetY - (GetY + offsetY(radius, y)), GetX - (GetX + offsetX(radius, x))), 0, 0, 0, BLUE11);
   SetShotDataA(1, 240, 2, NULL, 0, 0, 2, RED11);
   SetShotDataA(1, 360, 0.1, NULL, 0, 0, 0.1, BLUE11);
   FireShot(1);
   radius -= 1;
   x += 20.5;
   y += 20.5;
   if(radius < 25) {
    radius = 100;
   }
  }
 }

 task TShot2 {
  let x = 0;
  let y = 0;
  yield;

  loop {
   loop(10) { yield; }
   CreateShotA(2, GetX + offsetX(50, x), GetY + offsetY(50, y), 0);
   SetShotDataA(2, 0, 0, atan2(GetX - (GetX + offsetX(50, x)), GetY - (GetY + offsetY(50, y))), 0, 0, 0, YELLOW11);
   SetShotDataA(2, 600, 1.5, NULL, 0, 0, 1.5, PURPLE11);
   SetShotDataA(2, 660, 0.5, NULL, 0, 0, 0.1, BLUE02);
   FireShot(2);
   x += 25.5;
   y += 25.5;
  }
 }

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

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

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

}