//GB
//{XR

script_enemy_main{

//{`̓Ǎ
#include_function".\enemy_define.txt"


@Initialize{


	SetScore(0);
	SetLife(const_EnemyLifeZero + 1000);
	SetCommonDataEx("INVADER","EnemyBoss.Life",1000);
	SetDamageRate(10, 00);
	SetTexture(img_Boss1);

	func_Initialize();
	func_Boss_Initialize();

	main_TestBeamCollisionBoss;
	main_TestDefeat();
	main_Boss_EffectShield();
	main_Boss_EffectLife(1000, 100);

	//main_TestDeadLine();
	//main_FadeOutVanish();

	main_MainRoutine();
}


@MainLoop{

	SetCollisionA(GetX(), GetY(), 20);
	SetCollisionB(GetX(), GetY(), 18);
	yield;
}

let animation_frame = 0;
@DrawLoop{

	let rect = func_GetAnimationRect(g_GraType, 0);
	SetGraphicRect(rect[0], rect[1], rect[2], rect[3]);

	SetRenderState(ADD);

	//func_GetColor();
	DrawGraphic(GetX(), GetY());

}


@Finalize{

	//func_Finalize();
	SetCommonDataEx("INVADER","EnemyBoss.Life",000);

}

task main_MainRoutine(){

	loop(10){ yield; }
	main_MoveRoutine();
	main_ShotRoutine();
	main_Boss_LifeManager();

}//end task

task main_MoveRoutine()
{

	SetMovePosition03(GetCenterX(), 150, 10, 8);
	loop
	{
		yield;
		func_SetPosition();
	}

}//


task main_ShotRoutine()
{

	Blast();

	task Blast()
	{
		let base_angle = GetAngleToPlayer() + 90;
		loop
		{
			block_WaitTimerTick(8);
			shot();
		}

		task shot()
		{
			let shot_num = 10;
			ascent(i in 0..shot_num){
				let angle = base_angle + (180 * (i/shot_num));
				let speed = 2.8 -  2.2 * (absolute((shot_num / 2 - i) * 2 / shot_num) ^ 1.5);
				func_CreateEnemyShot01(GetX(), GetY(), speed, angle, _SHOT05);
				func_CreateEnemyShot01(GetX(), GetY(), speed, angle+180, _SHOT05);
			}
			base_angle += 13;
		}

	}


}//
task main_Vanish()
{
	g_Alive = false;

	PlaySE(se_BossDefeat);
	VanishEnemy();

}//end task


#include_function".\enemy_basic.txt"
#include_function".\enemy_bossbasic.txt"
#include_function".\enemy_move_routine.txt"
#include_function".\enemy_shot.txt"
#include_function".\enemy_shot_func.txt"
#include_function".\enemy_shot_routine.txt"

#include_function"..\lib_REMY\include_effect.txt"
#include_function"..\lib_REMY\include_tool.txt"

}//end script