//--------------------
//Œϐ̒`
//--------------------
//

//
function initialize_Game()
{
	ForbidBomb(true);
	ExtendPlayer((const_PlayerLifeZero + 2) - GetPlayerLife());
}//end function

//----------------------
//Rf[^̏
//Xe[WƂ̃Zbg͊eW[Reset֐gp
//----------------------
function initialize_CommonDatas()
{

	CreateCommonDataArea("INVADER");		//Rf[^GA̍쐬
	CreateCommonDataArea("INVADER_SAVE");	//Rf[^GA̍쐬

	SetCommonDataEx("INVADER_SAVE","Game.HiScore", 0);		//nCXRA
	SetCommonDataEx("INVADER_SAVE","Game.ConitinueEnable", false);	//ReBj[\
	SetCommonDataEx("INVADER_SAVE","Game.ClearedStage", 1);	//ReBj[AXe[W
	SetCommonDataEx("INVADER_SAVE","Game.ExtendCount", 0);	//ReBj[pGNXehJEg
	SetCommonDataEx("INVADER_SAVE","Game.PlayerLife", 0);	//ReBj[pvC[c@
	SetCommonDataEx("INVADER_SAVE","Game.Score", 0);	//ReBj[pXRA
	SetCommonDataEx("INVADER_SAVE","Game.ExtraShot", 0);	//ReBj[pGNXgVbgce
	SetCommonDataEx("INVADER_SAVE","Game.SpecialShot", 0);	//ReBj[pXyVVbgce
//func_Score_SaveScore();

	SetCommonDataEx("INVADER","Stage.Count", 1);		//Xe[W
	SetCommonDataEx("INVADER","Stage.TimeStop", false);
	SetCommonDataEx("INVADER","Stage.Name", "NONE");
	SetCommonDataEx("INVADER","Stage.Status", _STAGE_TITLE);
	SetCommonDataEx("INVADER","Stage.ClearFlag", false);

	SetCommonDataEx("INVADER","Stage.Effect",[]);	//GtFNg

	//fBNgpX
	SetCommonDataEx("INVADER","System.Directory", GetCurrentScriptDirectory());	
	SetCommonDataEx("INVADER","System.Directory.Enemy", GetCurrentScriptDirectory() ~ "enemy\");	
	SetCommonDataEx("INVADER","System.Directory.System", GetCurrentScriptDirectory() ~ "system\");	
	SetCommonDataEx("INVADER","System.Directory.Subscript", GetCurrentScriptDirectory() ~ "subscript\");	

	//SetCommonDataEx("INVADER","Beams.Status", []);		//er[
	//SetCommonDataEx("INVADER","Beams.Energy", []);		//er[̃`[W
	//SetCommonDataEx("INVADER","Beams.PositionX", []);	//er[WX
	//SetCommonDataEx("INVADER","Beams.PositionY", []);	//er[WY

	SetCommonDataEx("INVADER","Beam.Count", 0);		//r[̑ː

	//SetCommonDataEx("INVADER","Items.Status", []);		//eACe
	//SetCommonDataEx("INVADER","Items.Energy", []);		//eACe̊lGlM[
	//SetCommonDataEx("INVADER","Items.PositionX", []);	//eACeWX
	//SetCommonDataEx("INVADER","Items.PositionY", []);	//eACeWY
	//SetCommonDataEx("INVADER","Items.Type", []);		//eACẽ^Cv

	SetCommonDataEx("INVADER","Enemies.Status",[]);		//eGl~[
	SetCommonDataEx("INVADER","Enemies.PositionX",[]);	//eGl~[WX
	SetCommonDataEx("INVADER","Enemies.PositionY",[]);	//eGl~[WY
	SetCommonDataEx("INVADER","Enemies.BeamHit",[]);	//eGl~[r[JEg
	SetCommonDataEx("INVADER","Enemies.ItemEnergy",[]);	//eGl~[łACe
	SetCommonDataEx("INVADER","Enemies.ItemType",[]);	//eGl~[łACe̎
	SetCommonDataEx("INVADER","Enemies.Score",[]);		//eGl~[̃XRA
	SetCommonDataEx("INVADER","Enemies.ScoreRate",[]);		//eGl~[̃XRA[g

	SetCommonDataEx("INVADER","Enemy.Count",0);			//G̐
	SetCommonDataEx("INVADER","Enemy.AliveCount",0);	//ĂG̐
	SetCommonDataEx("INVADER","Enemy.OverDeadLine",false);	//hqC˔j
	SetCommonDataEx("INVADER","Enemy.SpecialItem",[]);	//XyVACe̐
	SetCommonDataEx("INVADER","Enemy.Defeated",[]);		//jꂽG̃Xg
	

	SetCommonDataEx("INVADER","EnemyMovers.Status",[]);		//eړAJ[
	SetCommonDataEx("INVADER","EnemyMovers.CallBack",[]);	//eړAJ[QƂR[obNp
	SetCommonDataEx("INVADER","EnemyMovers.PositionX",[]);	//eړAJ[WX
	SetCommonDataEx("INVADER","EnemyMovers.PositionY",[]);	//eړAJ[WY
	SetCommonDataEx("INVADER","EnemyMovers.MoveStatus",[]);	//eړAJ[̈ړp^[

	SetCommonDataEx("INVADER","EnemyMover.Count", 0);		//AJ[̐
	SetCommonDataEx("INVADER","EnemyMover.OnTick", false);	//ړ^C~O
	SetCommonDataEx("INVADER","EnemyMover.TickTime",60);	//ړ̊Ԋu
	SetCommonDataEx("INVADER","EnemyMover.Level",00);		//x
	SetCommonDataEx("INVADER","EnemyMover.PlaySE",true);	//ړ̉炷
	SetCommonDataEx("INVADER","EnemyMover.StopAll",false);	//G̓SĒ~

	SetCommonDataEx("INVADER","EnemyBoss.Status",_ENEMY_DEAD);	//{XXe[^X
	SetCommonDataEx("INVADER","EnemyBoss.Life",0);				//{XCt
	SetCommonDataEx("INVADER","EnemyBoss.Score",[]);			//{XɉŃXRAQbg

	SetCommonDataEx("INVADER","ScoreBonus.ShieldCount",0);		//V[hJEg
	SetCommonDataEx("INVADER","ScoreBonus.LastEnemyDistance",0);//Ōɓ|G̍
	SetCommonDataEx("INVADER","ScoreBonus.HitComboCount",0);	//VbgR{JEg
	SetCommonDataEx("INVADER","ScoreBonus.NagoyaCount",0);		//É{[iX

	SetCommonDataEx("INVADER","Missiles.Status",[]);	//e~TC
	SetCommonDataEx("INVADER","Missiles.PositionX",[]);	//e~TCWX
	SetCommonDataEx("INVADER","Missiles.PositionY",[]);	//e~TCWY
	SetCommonDataEx("INVADER","Missiles.BeamHit",[]);	//e~TCr[tO

	SetCommonDataEx("INVADER","Missile.Count",0);	//~TC



}//end function

//enum

//r[֘A
let _BEAM_READY = 2;	//r[ˏOK
let _BEAM_SHOOT = 1;	//r[˒
let _BEAM_USED = 0;		//r[gpς
let _BEAM_DISABLE = -1;	//r[gps

let _BEAMTYPE_NORMAL = 0;
let _BEAMTYPE_EXTRA = 1;
let _BEAMTYPE_SPECIAL = 2;
let _BEAMTYPE_RAPIER = 3;

//XyVr[
let _SPECIALBEAM_NONE = 0;
let _SPECIALBEAM_RAPIER = 1;	//XyVFCsA
let _SPECIALBEAM_SPREAD = 2;	//XyVFXvbh
let _SPECIALBEAM_ERASE = 3;		//XyVFCCX
let _SPECIALBEAM_FREEZE = 4;		//XyVFt[Y



//ACe֘A
let _ITEM_READY = 0;	//ACeOK
let _ITEM_APPEAR = 1;	//ACeo
let _ITEM_ERASED = 2;	//ACe

let _ITEMTYPE_STAR = 0;
let _ITEMTYPE_RAPIER = 1;	//XyVFCsA
let _ITEMTYPE_SPREAD = 2;	//XyVFXvbh
let _ITEMTYPE_ERASE = 3;	//XyVFCCX
let _ITEMTYPE_FREEZE = 4;	//XyVFt[Y
let _ITEMTYPE_5STAR = 5;	//T
let _ITEMTYPE_1UP = 6;		//GNXeh

//G֘A
let _ENEMY_DEAD = 0;	//ō
let _ENEMY_ALIVE = 1;	//

//ړXe[^X
let _MOVESTATUS_NORMAL = 0;		//ʏړ
let _MOVESTATUS_STOP = 1;		//̏~
let _MOVESTATUS_VERTICAL = 2;	//cړ

//EnemyMoverCG̃R[obNVOi
let _ENEMYMOVERCALL_NONE = 0;			//
let _ENEMYMOVERCALL_LEFT_BORDER = 11;	//[ɓB
let _ENEMYMOVERCALL_RIGHT_BORDER = 12;	//E[ɓB
let _ENEMYMOVERCALL_DEFENCE_LIMIT = 13;	//ʉ[ɓBiQ[I[o[j

//Xe[W
let _STAGE_TITLE = 0;
let _STAGE_LOADING = 1;
let _STAGE_ONGAME = 2;
let _STAGE_CLEAR = 3;
let _STAGE_GAMEOVER = 4;
let _STAGE_ENDING = 5;

//GtFNg
let _EFFECT_CAUTION = 0;
let _EFFECT_BURST = 1;
let _EFFECT_WARNING = 2;
let _EFFECT_UFO = 3;
let _EFFECT_SPELL = 4;

//Global

let g_StageCleared = false;	//[`̒EotO
let g_Debug = false;

//萔
let const_BeamSlotMax = 10;
let const_PlayerLifeZero = 2;
let const_ItemMaxCount = 20;
let const_PlayerYLimit = 360;
let const_DefenceLimit = 450;




