e
#Title[@ʏ]
#Text[]
#BGM[.\bgm\bgm.wav]
#BackGround[User]
#Player[FREE]
#ScriptVersion[2]

script_enemy_main{
	
	@Initialize{
		InitializeData();
		LoadUserShotData(shot_all);
		
		SetLife(5000);
		SetX(GetClipMinX() + 40);
		SetY(GetClipMinY() + 140);
		SetDamageRate(280,100);
		SetCollisionEx(32,16,false,300);
		SetEnemyMarker(true);
		
		TMain();
	}
	
	@MainLoop{
		yield;
	}
	
	@DrawLoop{
		DrawBoss_Byakuren(imgBoss_Byakuren);
	}
	
	@Finalize{
		FinalizeData();
	}
	
	task TMain(){
		Wait(60);
		
		SetTimer(70);
		
		Atack();
	}
	
	task Atack(){
		let turn = 1;
		
		loop{
			PlaySE(se2);
			Concentration01(100);
			Wait(100);
			AirScroll(turn);
			
			turn *= -1;
			
			Wait(140);
		}
	}
	
	task AirScroll(turn){
		let angle = 0;
		let rad = 110;
		let num = 8;
		
		loop(num){
			angle = -10 * turn + 90;
			Kusa(GetX(),GetY(),GetGapX(GetX(),rad,angle),GetGapY(GetY(),rad,angle),turn);
			SetMovePosition02(GetGapX(GetX(),rad,angle),GetGapY(GetY(),rad,angle),4);
			Wait(4);
			
			angle = 10 * turn + 270;
			Kusa(GetX(),GetY(),GetGapX(GetX(),rad,angle),GetGapY(GetY(),rad,angle),turn);
			SetMovePosition02(GetGapX(GetX(),rad,angle),GetGapY(GetY(),rad,angle),4);
			Wait(4);
		}
	}
	
	task Kusa(sx,sy,ex,ey,turn){
		let length = GetGapLength(sx,sy,ex,ey);
		let angle = GetGapAngle(sx,sy,ex,ey);
		let sangle = angle;
		let shotleng = 3.3;
		let shotnum = truncate(length / shotleng);
		let vx = sx;
		let vy = sy;
		let mx = shotleng * cos(angle);
		let my = shotleng * sin(angle);
		
		loop(shotnum){
			KusaShot(vx,vy,1.8,sangle,20,0,90);
			
			sangle += 9.2 * turn;
			
			vx += mx;
			vy += my;
		}
	}
	
	task KusaShot(x,y,speed,angle,graph,delay,wtime){
		CreateShotA(1,x,y,delay);
		SetShotDataA(1,0,0,angle,0,0,0,graph);
		SetShotDataA(1,wtime,NULL,NULL,0,0.02,3,graph);
		FireShot(1);
	}
	
	#include_function ".\initialize_boss.txt"
	
	#include_function ".\lib\lib_obj.txt"
	#include_function ".\lib\lib_value.txt"
}