//-----------------------
//ACeXNvg
//-----------------------

//CommonData"INVADER","Items.Status"
//CommonData"INVADER","Items.PositionX"
//CommonData"INVADER","Items.PositionY"

//ACe
//GetArgumentID擾̂ňœnƁB
script_shot Item
{
let m_ItemID;
let m_ItemPow;
let img_System = GetCurrentScriptDirectory() ~ "system\img\system2.png";

@Initialize
{
	//ACeID擾
	let args = GetArgument();
	m_ItemID = args[0];
	m_ItemPow = args[1];

	//tOZbg
	REMY_CommonDataArrayEx_Set("INVADER","Items.Status", m_ItemID, 1);
	REMY_CommonDataArrayEx_Set("INVADER","Items.Type", m_ItemID, _ITEMTYPE_STAR);

	//C[`N
	 main_MainRoutine();
}
@MainLoop
{
	yield;
}
@DrawLoop
{
	SetTexture(img_System);

	if(m_ItemPow >= 15)
	{
		SetGraphicScale(1.7, 1.7);
		SetColor(250, 250, 100);
		SetGraphicRect(208,160,224,176);
	}
	else if(m_ItemPow >= 6)
	{
		SetGraphicScale(1.5, 1.5);
		SetColor(250, 250, 100);
		SetGraphicRect(192,160,208,176);
	}
	else if(m_ItemPow >= 3)
	{
		SetGraphicScale(1.2, 1.2);
		SetColor(250, 250, 100);
		SetGraphicRect(176,160,192,176);
	}
	else
	{
		let size = 0.4 + 0.4 * m_ItemPow;
		SetGraphicScale(size, size);
		SetColor(250, 250, 100);
		SetGraphicRect(160,160,176,176);
	}
	DrawGraphic(GetX(), GetY());
	
}
@Finalize
{
	//ŃtOZbg
	REMY_CommonDataArrayEx_Set("INVADER","Items.Status", m_ItemID, 0);
}

task main_MainRoutine()
{
	let speed = -1;
	loop{
		speed = (speed + 0.1);
		if(speed > 4){ speed = 4; }
		SetSpeed(speed);

		//ŊmF
		local{
			let state = REMY_CommonDataArrayEx_Get("INVADER","Items.Status", m_ItemID);
			if(state == 0){ End(); return; }
		}
		local
		{
			if(GetY() > 480){ End(); return; }
		}

		//Wo^
		local{
			REMY_CommonDataArrayEx_Set("INVADER","Items.PositionX", m_ItemID, GetX());
			REMY_CommonDataArrayEx_Set("INVADER","Items.PositionY", m_ItemID, GetY());
		}
		
		yield;
	}

}//end task


#include_function".\lib_REMY\include_tool.txt"
#include_function".\subscript\script_stagedata_define.txt"

}//end script



//ACe
//GetArgumentID擾̂ňœnƁB
script_shot SpecialItem
{
let m_ItemID;
let m_ItemType;
let img_System = GetCurrentScriptDirectory() ~ "system\img\system2.png";

@Initialize
{
	//ACeID擾
	let args = GetArgument();
	m_ItemID = args[0];
	m_ItemType = args[1];

	//tOZbg
	REMY_CommonDataArrayEx_Set("INVADER","Items.Status", m_ItemID, 1);
	REMY_CommonDataArrayEx_Set("INVADER","Items.Type", m_ItemID, m_ItemType);

	//C[`N
	 main_MainRoutine();
}
@MainLoop
{
	yield;
}
@DrawLoop
{
	SetTexture(img_System);

	SetColor(250, 250, 250);

	alternative(m_ItemType)
	case(_ITEMTYPE_RAPIER){SetGraphicRect(48,192,80,224);}
	case(_ITEMTYPE_SPREAD){SetGraphicRect(80,160,112,192);}
	case(_ITEMTYPE_ERASE){SetGraphicRect(80,192,112,224);}
	case(_ITEMTYPE_FREEZE){SetGraphicRect(48,224,80,256);}
	case(_ITEMTYPE_1UP){SetGraphicRect(80,224,112,256);}

	DrawGraphic(GetX(), GetY());
	
}
@Finalize
{
	//ŃtOZbg
	REMY_CommonDataArrayEx_Set("INVADER","Items.Status", m_ItemID, 0);
}

task main_MainRoutine()
{
	let speed = -0.5;
	loop{
		speed = (speed + 0.05);
		if(speed > 3){ speed = 3; }
		SetSpeed(speed);

		//ŊmF
		local{
			let state = REMY_CommonDataArrayEx_Get("INVADER","Items.Status", m_ItemID);
			if(state == 0){ End(); return; }
		}
		local
		{
			if(GetY() > 480){ End(); return; }
		}

		//Wo^
		local{
			REMY_CommonDataArrayEx_Set("INVADER","Items.PositionX", m_ItemID, GetX());
			REMY_CommonDataArrayEx_Set("INVADER","Items.PositionY", m_ItemID, GetY());
		}
		
		yield;
	}

}//end task


#include_function".\lib_REMY\include_tool.txt"
#include_function".\subscript\script_stagedata_define.txt"

}//end script



