#e
#Title[uiENX^v]
#Text[Ȃ̂ɂl
܂zł͋CɂĂ͂܂]
#BGM[.\..\bgm\bgm.wav]
#BackGround[User]
#Player[FREE]
#ScriptVersion[2]

script_enemy_main{
	
	let Parent = 0;
	let Child = [];
	
	@Initialize{
		imgBoss = imgBoss_Luna;
		InitializeData();
		InitializeAction();
		
		SetLife(1000);
		SetDamageRate(27,15);
		SetCollisionEx(32,16,false,240);
		SetMovePosition03(CenterX,MinY + 130,20,4);
		SetEnemyMarker(true);
		
		TMain();
	}
	
	@MainLoop{
		yield;
	}
	
	@DrawLoop{
		DrawBoss(imgBoss);
	}
	
	@Finalize{
		FinalizeData();
	}
	
	task TMain(){
		FWait(60);
		
		DeclareSpell();
		
		Atack();
	}
	
	function DeclareSpell(){
		SetScore(2600000);
		SetTimer(66);
		CutIn(KOUMA,"uiENX^v",NULL,0,0,0,0);
		FWait(180);
	}
	
	task Atack(){
		let angle = GetAngleToPlayer();
		
		Move();
		ParentShot(angle + 90);
		
		loop{
			ascent(i in 0..22){
				ChildShot(angle + i * 360 / 22);
			}
			
			FWait(120);
		}
	}
	
	task ParentShot(angle){
		let obj = CreateObjShot(GetX(),GetY(),2,angle,StarL[5],0);
		ObjShot_SetBombResist(obj,true);
		
		Parent = obj;
		
		while( !Obj_BeDeleted(obj) ){
			if( Obj_GetY(obj) < MinY || Obj_GetY(obj) > MaxY || Obj_GetX(obj) < MinX || Obj_GetX(obj) > MaxX ){
				angle = GetGapAngle( Obj_GetX(obj),Obj_GetY(obj),GetPlayerX(),GetPlayerY() );
				Obj_SetAngle(obj,angle);
			}
			
			yield;
		}
	}
	
	task ChildShot(angle){
		let refnum = 1;
		let obj = CreateObjShot(GetX(),GetY(),2.4,angle,StarS[2],0);
		ObjShot_SetBombResist(obj,true);
		
		Child = Child ~ [obj];
		
		while( !Obj_BeDeleted(obj) ){
			if( refnum > 0 && ( Obj_GetY(obj) < MinY || Obj_GetY(obj) > MaxY || Obj_GetX(obj) < MinX || Obj_GetX(obj) > MaxX ) ){
				angle = GetGapAngle( Obj_GetX(obj),Obj_GetY(obj),Obj_GetX(Parent),Obj_GetY(Parent) );
				Obj_SetAngle(obj,angle);
				refnum -= 1;
			}
			
			yield;
		}
	}
	
	task Move(){
		loop{
			FWait(150);
			SetMovePosition02( GetPlayerX(), MinY + 130, 90 );
			SetAction(ACT_MOVE,90);
		}
	}
	
	#include_function ".\initialize.txt"
	#include_function ".\..\lib\lib_anime_sangetusei.txt"
	
	#include_function ".\..\lib\lib_obj.txt"
	#include_function ".\..\lib\lib_value.txt"
	#include_function ".\..\lib\lib_shot.txt"
	#include_function ".\..\lib\lib_effect.txt"
}