script_enemy_main{


//Argument < 30 = left >= 30 = right
// %2 == 0 power, else = point

	#include_function".\..\function\glo_enemydrop.txt";




	let ne_image = GetCurrentScriptDirectory~"..\img\enemy\ghostmale.png";




	let enemyframe1 = 0;
	let enemyframe2 = rand_int(40,100);






	let e_frametime = 0;
	let e_vanishframe = 310;

//-------------------------------------------------------------------------------------------------
// Any Task







//--------------------------------------------------------------------------------------------------------------

    @Initialize
	{
	SetLife(30);
	SetDamageRate(0,0);
	SetInvincibility(20);
	LoadGraphic(ne_image);

	SetMovePosition02(GetX, GetY, 0);
	}

//--------------------------------------------------------------------------------------------------------------

    @MainLoop
	{
	SetDamageRate(70+(6*GetCommonDataDefault("CD_PowerUse",0)),35+(3*GetCommonDataDefault("CD_PowerUse",0)));

	SetCollisionA(GetX, GetY, 32);
	if ((GetPlayerType == REIMU_A) || (GetPlayerType == REIMU_B))
	{	SetCollisionB(GetX, GetY, 0);	}	else
	{	SetCollisionB(GetX, GetY, 16);	}

	SetShotDirectionType(ABSOLUTE);

//----------------------
// Attack script below
//----------------------

	if (e_frametime == 1)
	{
	if (GetArgument < 30)	{	SetMovePositionHermite(GetX, GetY+200, 1000, 0, 1000, 0, 120);	}
	else	{	SetMovePositionHermite(GetX, GetY+200, 1000, 180, 1000, 180, 120);	}
	}
	if (e_frametime == 121)
	{
	if (GetArgument < 30)	{	SetMovePositionHermite(GetX, GetY+200, 1000, 0, 1000, 0, 120);	}
	else	{	SetMovePositionHermite(GetX, GetY+200, 1000, 180, 1000, 180, 120);	}
	}
	if (e_frametime == 241)
	{
	if (GetArgument < 30)	{	SetMovePositionHermite(GetX, GetY+200, 1000, 0, 1000, 0, 120);	}
	else	{	SetMovePositionHermite(GetX, GetY+200, 1000, 180, 1000, 180, 120);	}
	}

	if (enemyframe1 == enemyframe2)
	{
	enemyframe1 = 0;
	enemyframe2 = rand_int(40,100);
	PlaySE(GetCurrentScriptDirectory~"..\sfx\Shot1.wav");
	if (GetCommonData("CD_gamemode") == 2)
		{
		ascent (i in 0..5)
			{
			CreateShot02(GetX, GetY, 0, GetAngleToPlayer+4-(i*2), 0.25, 3, RED01, 5);
			}
		}
	else
		{
		CreateShot02(GetX, GetY, 0, GetAngleToPlayer, 0.25, 3, RED01, 5);
		}
	}

	
	enemyframe1++;




//----------------------
// Attack script above
//----------------------

	if ((e_frametime >= e_vanishframe) || (GetX < GetClipMinX-50) || (GetX > GetClipMaxX+50)
	 || (GetY < GetClipMinY-50) || (GetY > GetClipMaxY+50))
		{
		VanishEnemy;
		}

	e_frametime++;
	}




//--------------------------------------------------------------------------------------------------------------

    @Finalize
	{
	if ((BeVanished == false) && (OnBomb == false))
		{
		if (GetArgument%2 == 0)	{	EnemyDropItem(1, 1);	}
		else	{	EnemyDropItem(3, 1);	}
		SetCommonData("CD_Feverscore", GetCommonDataDefault("CD_Feverscore",0) + 500);
		}
	AddScore(2500 * GetCommonDataDefault("CD_FeverMultiplyUse",1) * GetCommonDataDefault("CD_gamemode",1));
	}

//--------------------------------------------------------------------------------------------------------------

    @DrawLoop
	{
	SetTexture(ne_image);
	SetGraphicRect(0, 0, 30, 30);
	SetColor(255, 255, 255);
	SetRenderState(ALPHA);
	SetGraphicAngle(0, 0, 0);
	DrawGraphic(GetX, GetY);
	}
}