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

script_enemy_main{
	
	@Initialize{
		InitializeData();
		LoadUserShotData(shot_rose);
		
		SetLife(5000);
		
		SetMovePosition03(GetCenterX(),GetClipMinY() + 130,20,4);
		SetDamageRate(200,100);
		SetCollisionEx(32,16,false,180);
		SetEnemyMarker(true);
		
		TMain();
	}
	
	@MainLoop{
		yield;
	}
	
	@DrawLoop{
		DrawBoss_Koisi(imgBoss_Koisi);
	}
	
	@Finalize{
		FinalizeData();
	}
	
	task TMain(){
		Wait(60);
		
		SetTimer(43);
		
		Atack();
		Move();
	}
	
	task Atack(){
		ConcentRC(120,0,255,0);
		PlaySE(se2);
		Wait(120);
		
		Rose();
		
		loop{
			Ivy(rand(-100,100) + GetX(),-30,5.5,0,GREEN12,20);
			
			Wait(50);
		}
	}
	
	task Ivy(x,y,speed,angle,graph,delay){
		angle = GetGapAngle(x,y,GetPlayerX(),GetPlayerY());
		
		let mx = speed * cos(angle);
		let my = speed * sin(angle);
		
		loop(90){
			IvyShot(x,y,0,angle + rand(-50,50),graph,delay);
			x += mx * 2;
			y += my * 2;
			Wait(2);
		}
	}
	
	task IvyShot(x,y,speed,angle,graph,delay){
		SetShotColor( 32,255, 32);
		let obj = CreateObjShot(x,y,speed,angle,graph,delay);
		SetShotColor(255,255,255);
		
		Wait(120);
		
		if( !Obj_BeDeleted(obj) ){
			ObjShot_FadeDelete(obj);
		}
	}
	
	task Rose(){
		let angle = 0;
		
		Wait(60);
		
		loop{
			pose = 1;
			ConcentRC(120,255,0,0);
			ConcentRC(120,255,0,0);
			PlaySE(se2);
			Wait(120);
			
			angle = GetAngleToPlayer() + 180;
			
			ascent(i in 0..6){
				ReflectShot(GetX(),GetY(),4,angle + (i + 1) * 8,1,0,[1,1,1,0],2);
				ReflectShot(GetX(),GetY(),4,angle - (i + 1) * 8,1,0,[1,1,1,0],2);
			}
			
			Wait(60);
			
			pose = 0;
			
			Wait(160);
		}
	}
	
	task Move(){
		loop{
			Wait(180);
		}
	}
	
	#include_function ".\initialize_boss.txt"
	
	#include_function ".\lib\lib_obj.txt"
	#include_function ".\lib\lib_bullet.txt"
	#include_function ".\lib\lib_value.txt"
}