


script_enemy_main {
	let imgBoss     = "script\l\img\dot_yuyuko.png";
	#include_function ".\lib\lib_anime_Yuyuko.txt"
	#include_function ".\prg\function_value.txt"
	let name = "̌";
	let cx=GetCenterX();
	@Initialize {
		SetX(GetCenterX);
        SetY(GetClipMinY + 120);
        SetLife(700);
        SetTimer(52);
        SetScore(5000000);
        LoadGraphic(imgBoss);
        SetTexture(imgBoss);
        CutIn(YOUMU, name, "", 0, 0, 0, 0);
        SetDamageRate(25, 25);
        
		TMain;
	}
		@MainLoop {
        SetCollisionA(GetX, GetY, 24);
        SetCollisionB(GetX, GetY, 24);

        yield;
       }
       @DrawLoop {
       DrawBoss( imgBoss );
    }

    @Finalize {
        DeleteGraphic(imgBoss);
        loop(8)
		{
			CreateItem(ITEM_SCORE,cx+rand(-100,100),rand(20,100));
		}
		
    }
    task TMain {
        yield;
        concentration;
        
        loop {
	        TM;
	         wait(40);
	       Ta; 
	       wait(40);
	       Tb;
       }
      }
       sub concentration {
        let wConc = 100;
        Concentration01(wConc);
        wait(wConc);
        
    }
    sub TM {
	    
        
        loop(60) { 

        moveToPlayer(rand(40, 80), rand(-40, 40), 60,
                     GetClipMinX + 48, GetClipMinY +  32,
                     GetClipMaxX - 48, GetClipMinY + 128);
        SetAction( ACT_MOVE, 60 );
        
      }
     
      }
    
    sub Ta{
	    let tza = 0;
	    loop (20) {
	    let angle1 = GetAngleToPlayer + 5;
	    let angle2 = GetAngleToPlayer - 5;
	    CreateShot01(GetX, GetY, 5, angle1, AQUA21, tza);
	    CreateShot01(GetX, GetY, 5, angle2, AQUA21, tza);
	    tza +=3;
	   }
	  
}
sub Tb {
	let KL = 1;
	let KLBy = rand(GetClipMinY +200, GetClipMaxY - 200);
		let KLEy = rand(GetClipMinY + 200, GetClipMaxY - 200);
		let KLBx = GetClipMinX-200;
		let KLEx = GetClipMaxX+100;
		let LMovea = 5;
		let spana  = GetGapLength(KLBx, KLBy, KLEx, KLEy) /LMovea;
		let KL2 = 2;
	let KL2By = rand(GetClipMinY + 200, GetClipMaxY - 200);
		let KL2Ey = rand(GetClipMinY +200, GetClipMaxY - 200);
		let KL2Bx = GetClipMinX-200;
		let KL2Ex = GetClipMaxX+100;
		let LMoveb = 5;
		let spanb  = GetGapLength(KL2Bx, KL2By, KL2Ex, KL2Ey) /LMoveb;
		let KL3 = 3;
	let KL3By = rand(GetClipMinY + 200, GetClipMaxY - 200);
		let KL3Ey = rand(GetClipMinY +200, GetClipMaxY - 200);
		let KL3Bx = GetClipMinX-200;
		let KL3Ex = GetClipMaxX+100;
		let LMovec = 5;
		let spanc  = GetGapLength(KL3Bx, KL3By, KL3Ex, KL3Ey) /LMovec;
		let KL4 = 4;
		let KL4By = rand(GetClipMinY + 200, GetClipMaxY - 200);
		let KL4Ey = rand(GetClipMinY +200, GetClipMaxY - 200);
		let KL4Bx = GetClipMinX-200;
		let KL4Ex = GetClipMaxX+100;
		let LMoved = 5;
		let spand  = GetGapLength(KL4Bx, KL4By, KL4Ex, KL4Ey) /LMoved;
		let KL5 = 5;
		let KL5By = rand(GetClipMinY + 200, GetClipMaxY - 200);
		let KL5Ey = rand(GetClipMinY +200, GetClipMaxY - 200);
		let KL5Bx = GetClipMinX-200;
		let KL5Ex = GetClipMaxX+100;
		let LMovee = 5;
		let spane  = GetGapLength(KL5Bx, KL5By, KL5Ex, KL5Ey) /LMovee;
	Slow(2);
	Concentration01(50);
	MotionBlur(ALL ,80 ,100);
	SetAction( ACT_SHOT_B, 80 );
	wait(80);
	Slow(0);
	CreateLaserA(KL, KLBx, KLBy, 0, 10, WHITE01, 10);
		SetLaserDataA(KL, 0, rand(-50, 50), 0, spana, 0, 0);
		SetLaserDataA(KL, LMovea, NULL, 0, 0, 0, 0);		
		CreateLaserA(KL2, KL2Bx, KL2By, 0, 10, RED01, 10);
		SetLaserDataA(KL2, 0, rand(50, -50), 0, spanb, 0, 0);
		SetLaserDataA(KL2, LMoveb, NULL, 0, 0, 0, 0);
		CreateLaserA(KL3, KL3Bx, KL3By, 0, 10, BLUE01, 10);
		SetLaserDataA(KL3, 0, rand(-50, 50), 0, spanc, 0, 0);
		SetLaserDataA(KL3, LMovec, NULL, 0, 0, 0, 0);
		CreateLaserA(KL4, KL4Bx, KL4By, 0, 10, AQUA01, 10);
		SetLaserDataA(KL4, 0, rand(-50, 50), 0, spand, 0, 0);
		SetLaserDataA(KL4, LMoved, NULL, 0, 0, 0, 0);
		CreateLaserA(KL5, KL5Bx, KL5By, 0, 10, PURPLE01, 10);
		SetLaserDataA(KL5, 0, rand(-50, 50), 0, spane, 0, 0);
		SetLaserDataA(KL5, LMovee, NULL, 0, 0, 0, 0);
		let tb = 6;
		let tc = 7;
		let td = 8;
		let te = 9;
		let tf = 10;
		let tsa = 0;
		let tsb = 0;
		let tsc = 0;
		let tsd = 0;
		let tse = 0;
				loop (50) {
					CreateShotA(tb, 0, 0, 10);
					SetShotDataA(tb, 0, 2, rand(0, 360), 0, 0, 4, WHITE22);
					CreateShotA(tc, 0, 0, 10);
					SetShotDataA(tc, 0, 2, rand(0, 360), 0, 0, 4, RED22);
					CreateShotA(td, 0, 0, 10);
					SetShotDataA(td, 0, 2, rand(0, 360), 0, 0, 4, BLUE22);
					CreateShotA(te, 0, 0, 10);
					SetShotDataA(te, 0, 2, rand(0, 360), 0, 0, 4, AQUA22);
					CreateShotA(tf, 0, 0, 10);
					SetShotDataA(tf, 0, 2, rand(0, 360), 0, 0, 4, PURPLE22);
					AddShot(35, KL, tb, tsa);
					AddShot(35, KL2, tc, tsb);
					AddShot(35, KL3, td, tsc);
					AddShot(35, KL4, te, tsd);
					AddShot(35, KL5, tf, tse);
					tsa +=17;
					tsb +=17;
					tsc +=17;
					tsd +=17;
					tse +=17;
				}
					
		SetShotKillTime(KL, 36);
		FireShot(KL);
		SetShotKillTime(KL2, 36);
		FireShot(KL2);
		SetShotKillTime(KL3, 36);
		FireShot(KL3);
		SetShotKillTime(KL4, 36);
		FireShot(KL4);
		SetShotKillTime(KL5, 36);
		FireShot(KL5);
	


	wait(40);
}







	       function moveToPlayer(xMove, yAdd, frame, left, top, right, bottom) {
        let x;
        let y;

        if(GetPlayerX < GetX) {
            
            x = GetX - xMove;

            
            if(x < left) {
                x = GetX + xMove;
            }
        } else {
           
            x = GetX + xMove;

           
            if(right < x) {
                x = GetX - xMove;
            }
        }

        y = GetY + yAdd;
        if(y < top) {
            y = top;
        } else if(bottom < y) {
            y = bottom;
        }

        SetMovePosition02(x, y, frame);
        
    }








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