#ScriptVersion[2]

script_enemy_main
{
	#include_function ".\init.txt"

	@Initialize
	{
		SetLife(20);

		SetTexture(img_fairy);

		LoadUserShotData(shot_00);

		InitializeAction();
		SetFairyType(1);

		T_Main();
		T_HitTest(16);
	}

	@Finalize
	{
		if( GetLife() <= 0 ){
			CreateItemCircle(GetX(), GetY(), 1, 0);
		}
	}

	@DrawLoop
	{
		DrawGraphic(GetX(), GetY());
	}

	task T_Main()
	{
		yield;

		T_Move();
		T_Shot();
		Wait(10);

		loop{
			if( IsOutOfClipRange(GetX(), GetY(), 16) ){
				VanishEnemy();
			}
			yield;
		}
	}

	task T_Move()
	{
		let v = GetSpeed();
		let a = -v / 30;
		let angle = GetAngle();
		if( GetX() < GetCenterX() ){
			loop(90){
				angle -= 2;
				SetAngle(angle);
				yield;
			}
		}
		else{
			loop(90){
				angle += 2;
				SetAngle(angle);
				yield;
			}
		}
	}

	task T_Shot()
	{
		Wait(3 + rand_int(0, 30));
		loop(2){
			PlaySE(se_shot1);
			let angle = GetAngleToPlayer();
			ascent( let i in 0..18 ){
				let p_angle = angle + i * 360 / 18;
				CreateShot01(GetX() + 26 * cos(p_angle), GetY() + 26 * sin(p_angle), 6.5, angle, 11, 5);
			}
			Wait(37);
		}
	}

	#include_function ".\f_base.txt"
	#include_function ".\f_enemy.txt"
	#include_function ".\f_anime_fairy.txt"
}
