
SceneNumMax=3;

StageBonusExp=30;
StageBonusMoney=15;
StageBonusMana=15;

StageTimeBorder=120;

loop
{
	alternative(SceneNum)
	case(0)
	{
	SetStageData1;
	SetStageEnemy1;
	SetSceneChangecondition1;
	}
	case(1)
	{
	SetStageData2;
	SetStageEnemy2;
	SetSceneChangecondition2;
	}
	case(2)
	{
	SetStageData3;
	SetStageEnemy3;
	SetSceneChangecondition3;
	}
	SetStage;
	StageMainTask;
	loop
	{
		if(SceneChange){break;}
		if(GetCommonData("StageClear",false)){break;}
		yield;
	}
	if(GetCommonData("StageClear",false)==false)
	{
	SceneChangeEffect;
	wait(60);
	SceneChange=false;
	SetCommonData("SceneChange",false);
	}
	SceneNum+=1;
	if(SceneNum==SceneNumMax){break;}
}

task SetStageData1
{
StagePlayerX=-208;
StagePlayerY=-208;

StagePlayerX+=8*32;
StagePlayerY+=38*32;

StageRow=51;
StageColumn=42;
StageObjectArray=[
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,
0,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
];
}

task SetSceneChangecondition1
{
	wait(120);
	while(GetPlayerX<12*32+16){yield;}
	if(SceneNum!=SceneNumMax-1)
	{
	SceneChange=true;
	SetCommonData("SceneChange",true);
	}
	else
	{
	SetCommonData("StageClear",true);
	}

}

task SetStageEnemy1
{
yield;

CreateEnemy01(8*32,20*32);
CreateEnemy01(12*32,22*32);
CreateEnemy01(4*32,22*32);

CreateEnemy01(12*32,5*32);
CreateEnemy01(18*32,12*32);

CreateEnemy01(28*32,7*32);
CreateEnemy01(34*32,2*32);
CreateEnemy01(34*32,13*32);

CreateEnemy01(40*32,5*32);
CreateEnemy01(40*32,10*32);
}



task SetStageData2
{
StagePlayerX=-208;
StagePlayerY=-208;

StagePlayerX+=1*32;
StagePlayerY+=43*32;

StageRow=66;
StageColumn=50;
StageObjectArray=[
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
];
}

task SetSceneChangecondition2
{
	wait(120);
	while(GetPlayerX<12*32+16){yield;}
	if(SceneNum!=SceneNumMax-1)
	{
	SceneChange=true;
	SetCommonData("SceneChange",true);
	}
	else
	{
	SetCommonData("StageClear",true);
	}
}

task SetStageEnemy2
{
yield;
Ambush1;

CreateEnemy01(11*32,43*32);

CreateEnemy02(17*32,37*32);
CreateEnemy02(22*32,41*32);

CreateEnemy01(32*32,38*32);
CreateEnemy01(32*32,44*32);

CreateEnemy01(44*32,39*32);
CreateEnemy01(44*32,41*32);
CreateEnemy01(44*32,43*32);

CreateEnemy02(49*32,38*32);
CreateEnemy02(49*32,45*32);

CreateEnemy02(57*32,33*32);
CreateEnemy02(56*32,28*32);
CreateEnemy02(58*32,23*32);
CreateEnemy02(57*32,17*32);

CreateEnemy01(16*32,21*32);
CreateEnemy01(21*32,24*32);

CreateEnemy01(31*32,21*32);

CreateEnemy02(35*32,16*32);
CreateEnemy02(41*32,8*32);

CreateEnemy03(58*32,6*32);

task Ambush1
{
SetCommonData("Secret1",0);
loop
{
	if(StagePlayerX<=9*32-192 && StagePlayerY<=9*32-192){break;}
yield;
}

CreateEnemy01a(9*32,5*32);
CreateEnemy01a(12*32,7*32);
CreateEnemy01a(12*32,11*32);
CreateEnemy01a(9*32,13*32);
CreateEnemy01a(6*32,11*32);
CreateEnemy01a(6*32,7*32);

loop
{
	if(GetCommonData("Secret1",0)==6){break;}
yield;
}

SetTreasure1(9*32,9*32);

}

}



task SetStageData3
{
StagePlayerX=-208;
StagePlayerY=-208;

StagePlayerX+=1*32;
StagePlayerY+=18*32;

StageRow=66;
StageColumn=50;
StageObjectArray=[
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,0,
0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
];


}

task SetSceneChangecondition3
{
	wait(120);
	loop
	{
	if(StagePlayerX>=37*32-192 && StagePlayerY<=13*32-192){break;}
	yield;
	}
	ascent(i in 48..54)
	{
	ascent(j in 23..24)
	{
	StageObjectArray[i+StageRow*j]=0;
	CreateMap(i,j,0);
	}
	ascent(j in 24..30)
	{
	StageObjectArray[i+StageRow*j]=-1;
	CreateMap(i,j,-1);
	}
	}

	VictoryConditionEffect;
	wait(60);
	CreateEnemy01b(52*32,9*32);
	CreateEnemy01b(48*32,9*32);
	CreateEnemy01b(52*32,17*32);
	CreateEnemy01b(48*32,17*32);
	CreateEnemy01b(46*32,13*32);
	CreateEnemy01b(54*32,13*32);
loop
{
	if(GetCommonData("Boss1",0)==6){break;}
yield;
}

	CreateEnemy04(50*32,13*32);

	CreateEnemy03(44*32,7*32);
	CreateEnemy03(56*32,19*32);
	CreateEnemy03(56*32,7*32);
	CreateEnemy03(44*32,19*32);
loop
{
	if(GetCommonData("Boss2",0)==1){break;}
yield;
}

	let T=GetCommonData("@̐X",[[1],[0],[0]]);
	let H=T[1];
	H[0]=1;
	T[1]=H;
	SetCommonData("@̐X",T);

	DeleteShotAll(TYPE_ALL,TYPE_FADE);
	if(SceneNum!=SceneNumMax-1)
	{
	SceneChange=true;
	SetCommonData("SceneChange",true);
	}
	else
	{
	SetCommonData("StageClear",true);
	}
}

task SetStageEnemy3
{
yield;
Ambush1;

CreateEnemy01(18*32,17*32);
CreateEnemy01(14*32,23*32);

CreateEnemy02(18*32,28*32);

CreateEnemy01(27*32,38*32);
CreateEnemy01(27*32,40*32);
CreateEnemy01(27*32,43*32);
CreateEnemy03(29*32,42*32);

CreateEnemy02(35*32,39*32);
CreateEnemy02(35*32,42*32);

CreateEnemy03(39*32,39*32);
CreateEnemy03(39*32,42*32);

task Ambush1
{
SetCommonData("Secret1",0);
loop
{
	if(StagePlayerX<=9*32-192 && StagePlayerY<=9*32-192){break;}
yield;
}

CreateEnemy01a(9*32,5*32);
CreateEnemy01a(12*32,7*32);
CreateEnemy01a(12*32,11*32);
CreateEnemy01a(9*32,13*32);
CreateEnemy01a(6*32,11*32);
CreateEnemy01a(6*32,7*32);

loop
{
	if(GetCommonData("Secret1",0)==6){break;}
yield;
}

SetTreasure1(9*32,9*32);

}

}

task SetTreasure1(abx,aby)
{
if(UniqueCarryCheck("veNgO")){return;}

	let ex=abx+16;
	let ey=aby+16;
	let StopCount=0;
	let GetFlag=false;
	while(ex-StagePlayerX<=-64 || ex-StagePlayerX>=GetStgFrameWidth+64 || ey-StagePlayerY<=-64 || ey-StagePlayerY>=448+64)
	{
		if(SceneChange==true){return;}
		yield;
	}

	let imgRedFairy = csd ~ "lib/fairy_red.png"; //G摜t@C
	let objEnemy=SetEnemyInfo(ex,ey,500,0,0,0,12,0,"img/takara.png");

	ObjMove_SetPosition(objEnemy, ex-StagePlayerX,ey-StagePlayerY);


	if(ex-StagePlayerX>=-32 && ex-StagePlayerX<=448+32 && ey-StagePlayerY>=0-32 && ey-StagePlayerY<=448+32)
	{
		TreasureAppearEffect(objEnemy);
		StopCount=60;
		Obj_SetValue(objEnemy,"Appear",1);
		Appear;
	}

	EnemyFinalizeTask;
	Pos;
	End;
	Get;

	task Get
	{
		wait(120);
		while(!Obj_IsDeleted(objEnemy))
		{
			if(((ObjRender_GetY(objEnemy)-GetPlayerY)^2+(ObjRender_GetX(objEnemy)-GetPlayerX)^2)^0.5<=15)
			{
				GetFlag=true;
			}
			yield;
		}	
	}

	task Appear
	{
	ObjRender_SetColor(objEnemy,0,0,0);
	ObjRender_SetAlpha(objEnemy,0);
	wait(30);
	loop(60)
	{
		ObjRender_SetColor(objEnemy,255-StopCount/60*255,255-StopCount/60*255,255-StopCount/60*255);
		ObjRender_SetAlpha(objEnemy,255-StopCount/60*255);
		yield;
		StopCount-=1;
	}
	}
	task Pos
	{
		while(!Obj_IsDeleted(objEnemy))
		{
			ObjMove_SetPosition(objEnemy, ex-StagePlayerX,ey-StagePlayerY);
			yield;
		}

	}

	task End
	{
		while(!Obj_IsDeleted(objEnemy))
		{
			if(ex-StagePlayerX<=-64 || ex-StagePlayerX>=GetStgFrameWidth+64 || ey-StagePlayerY<=-64 || ey-StagePlayerY>=448+64)
			{
				Obj_SetValue(objEnemy, "Vanished", 1);
			}

			yield;
		}
	}
	task EnemyFinalizeTask
	{
	while( ( Obj_GetValue(objEnemy, "Vanished")==0 && Obj_GetValue(objEnemy, "Life")>0) && SceneChange==false && GetFlag==false){yield;}
	yield;

	if(SceneChange==true){Obj_Delete(objEnemy);}
	else
	{
	if(Obj_GetValue(objEnemy, "Vanished")==0)
	{
		if(GetFlag)
		{
		DrawGetItem;
		Obj_PlaySE(GetMainStgScriptDirectory~"se/coin07.wav");
		StageTreasure=StageTreasure~[["veNgO"]];
		Obj_Delete(objEnemy);
		}
		else
		{
		SetDrop(objEnemy,3,1,0);
		DefeatEffect(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy));
		Obj_Delete(objEnemy);
		}
	}
	else 
	{
		Obj_Delete(objEnemy);
		Rebirth;
	}
	}

	}

	task Rebirth
	{
		if(GetCommonData("StageClear",false)){return;}
		while(abx-StagePlayerX>=-64 && abx-StagePlayerX<=GetStgFrameWidth+64 && aby-StagePlayerY>=-64 && aby-StagePlayerY<=448+64)
		{
			if(SceneChange==true){return;}
			yield;
		}
		SetTreasure1(abx,aby);
	}
}

task CreateEnemy01(abx,aby)
{
	let ex=abx+16;
	let ey=aby+16;
	let StopCount=0;

	while(ex-StagePlayerX<=-64 || ex-StagePlayerX>=GetStgFrameWidth+64 || ey-StagePlayerY<=-64 || ey-StagePlayerY>=448+64)
	{
		if(SceneChange==true){return;}
		yield;
	}
	let objEnemy=SetEnemyInfo(ex,ey,500,0,0,0,12,8,"img/fairy01.png");

	Obj_SetValue(objEnemy,"Knock_Right",0);
	Obj_SetValue(objEnemy,"Knock_Left",0);
	Obj_SetValue(objEnemy,"Knock_Up",0);
	Obj_SetValue(objEnemy,"Knock_Down",0);

	EnemyArray=EnemyArray~[objEnemy];
	let ArrayID=length(EnemyArray)-1;

	ObjMove_SetPosition(objEnemy, ex-StagePlayerX,ey-StagePlayerY);


	if(ex-StagePlayerX>=-32 && ex-StagePlayerX<=448+32 && ey-StagePlayerY>=0-32 && ey-StagePlayerY<=448+32)
	{
		AppearEffect(objEnemy,[255,64,64]);
		StopCount=60;
		Obj_SetValue(objEnemy,"Appear",1);
	}

	EnemyFinalizeTask;
	Move;
	Pos;
	End;

	while(!Obj_IsDeleted(objEnemy)){yield;}

	ascent(i in 0..length(EnemyArray))
	{
		if(EnemyArray[i]==objEnemy)
		{
			EnemyArray=erase(EnemyArray,i);
			break;
		}
	}

	task Pos
	{
		while(!Obj_IsDeleted(objEnemy))
		{
			if(Obj_GetValue(objEnemy,"Knock_Right")!=0)
			{
				ex+=5;
				Obj_SetValue(objEnemy,"Knock_Right",0);
			}
			if(Obj_GetValue(objEnemy,"Knock_Left")!=0)
			{
				ex-=5;
				Obj_SetValue(objEnemy,"Knock_Left",0);
			}
			if(Obj_GetValue(objEnemy,"Knock_Up")!=0)
			{
				ey-=5;
				Obj_SetValue(objEnemy,"Knock_Up",0);
			}
			if(Obj_GetValue(objEnemy,"Knock_Down")!=0)
			{
				ey+=5;
				Obj_SetValue(objEnemy,"Knock_Down",0);
			}
			ObjMove_SetPosition(objEnemy, ex-StagePlayerX,ey-StagePlayerY);
			yield;
		}

	}
	task Move
	{
		let speed=1.25;
		let MoveCount=0;
		let MoveAngle=GetAngleToPlayer(objEnemy)+rand(-10,10);
		let MoveStop=0;
		while(!Obj_IsDeleted(objEnemy))
		{
			MoveByPlayer(objEnemy);
			ObjMove_SetAngle(objEnemy,MoveAngle);
			ObjMove_SetSpeed(objEnemy,speed);
			if(MoveCount%30==0)
			{
				MoveAngle=GetAngleToPlayer(objEnemy)+rand(-10,10);
				if(rand_int(0,8)==0)
				{
					MoveStop=1;
				}
				else
				{
					MoveStop=0;
				}
			}
			if(MoveStop==0 && StopCount==0)
			{
			ex+=speed*cos(MoveAngle);
			ey+=speed*sin(MoveAngle);
			}
			MoveCount+=1;
			if(GetCommonData("StageClear",false)){break;}
			if(StopCount>0){StopCount-=1;}
			ObjRender_SetAlpha(objEnemy,255-StopCount/60*255);
			yield;
		}
	}

	task End
	{
		while(!Obj_IsDeleted(objEnemy))
		{
			if(ex-StagePlayerX<=-64 || ex-StagePlayerX>=GetStgFrameWidth+64 || ey-StagePlayerY<=-64 || ey-StagePlayerY>=448+64)
			{
				Obj_SetValue(objEnemy, "Vanished", 1);
			}

			yield;
		}
	}
	task EnemyFinalizeTask
	{
//	while( ( Obj_GetValue(objEnemy, "Vanished")==0 && ObjEnemy_GetInfo(objEnemy, INFO_LIFE) > 0 ) && SceneChange==false){yield;}
	while( ( Obj_GetValue(objEnemy, "Vanished")==0 && Obj_GetValue(objEnemy, "Life")>0) && SceneChange==false){yield;}
	yield;

	if(SceneChange==true){Obj_Delete(objEnemy);}
	else
	{
	if(Obj_GetValue(objEnemy, "Vanished")==0)
	{
		DefeatEffect(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy));
		SetDrop(objEnemy,3,1,1);
		if(TreasureDropProbability(256))
		{
		CreateTreasure(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy),"d̉H");
		}
		Obj_Delete(objEnemy);
	}
	else 
	{
		Obj_Delete(objEnemy);
		Rebirth;
	}
	}

	}

	task Rebirth
	{
		if(GetCommonData("StageClear",false)){return;}
		while(abx-StagePlayerX>=-64 && abx-StagePlayerX<=GetStgFrameWidth+64 && aby-StagePlayerY>=-64 && aby-StagePlayerY<=448+64)
		{
			if(SceneChange==true){return;}
			yield;
		}
		CreateEnemy01(abx,aby);
	}
}

task CreateEnemy01a(abx,aby)
{
	let ex=abx+16;
	let ey=aby+16;
	let StopCount=0;

	while(ex-StagePlayerX<=-64 || ex-StagePlayerX>=GetStgFrameWidth+64 || ey-StagePlayerY<=-64 || ey-StagePlayerY>=448+64)
	{
		if(SceneChange==true){return;}
		yield;
	}

	let imgRedFairy = csd ~ "lib/fairy_red.png"; //G摜t@C
	let objEnemy=SetEnemyInfo(ex,ey,500,0,0,0,12,8,"img/fairy01.png");

	Obj_SetValue(objEnemy,"Knock_Right",0);
	Obj_SetValue(objEnemy,"Knock_Left",0);
	Obj_SetValue(objEnemy,"Knock_Up",0);
	Obj_SetValue(objEnemy,"Knock_Down",0);

	EnemyArray=EnemyArray~[objEnemy];
	let ArrayID=length(EnemyArray)-1;

	ObjMove_SetPosition(objEnemy, ex-StagePlayerX,ey-StagePlayerY);


	if(ex-StagePlayerX>=-32 && ex-StagePlayerX<=448+32 && ey-StagePlayerY>=0-32 && ey-StagePlayerY<=448+32)
	{
		AppearEffect(objEnemy,[255,64,64]);
		StopCount=60;
		Obj_SetValue(objEnemy,"Appear",1);
	}

	EnemyFinalizeTask;
	Move;
	Pos;
	End;

	while(!Obj_IsDeleted(objEnemy)){yield;}

	ascent(i in 0..length(EnemyArray))
	{
		if(EnemyArray[i]==objEnemy)
		{
			EnemyArray=erase(EnemyArray,i);
			break;
		}
	}

	task Pos
	{
		while(!Obj_IsDeleted(objEnemy))
		{
			if(Obj_GetValue(objEnemy,"Knock_Right")!=0)
			{
				ex+=5;
				Obj_SetValue(objEnemy,"Knock_Right",0);
			}
			if(Obj_GetValue(objEnemy,"Knock_Left")!=0)
			{
				ex-=5;
				Obj_SetValue(objEnemy,"Knock_Left",0);
			}
			if(Obj_GetValue(objEnemy,"Knock_Up")!=0)
			{
				ey-=5;
				Obj_SetValue(objEnemy,"Knock_Up",0);
			}
			if(Obj_GetValue(objEnemy,"Knock_Down")!=0)
			{
				ey+=5;
				Obj_SetValue(objEnemy,"Knock_Down",0);
			}
			ObjMove_SetPosition(objEnemy, ex-StagePlayerX,ey-StagePlayerY);
			yield;
		}

	}
	task Move
	{
		let speed=1.25;
		let MoveCount=0;
		let MoveAngle=GetAngleToPlayer(objEnemy)+rand(-10,10);
		let MoveStop=0;
		while(!Obj_IsDeleted(objEnemy))
		{
			ObjMove_SetAngle(objEnemy,MoveAngle);
			if(MoveCount%30==0)
			{
				MoveAngle=GetAngleToPlayer(objEnemy)+rand(-10,10);
				if(rand_int(0,8)==0)
				{
					MoveStop=1;
				}
				else
				{
					MoveStop=0;
				}
			}
			if(MoveStop==0 && StopCount==0)
			{
			ex+=speed*cos(MoveAngle);
			ey+=speed*sin(MoveAngle);
			}

			MoveCount+=1;
			if(GetCommonData("StageClear",false)){break;}
			if(StopCount>0){StopCount-=1;}
			ObjRender_SetAlpha(objEnemy,255-StopCount/60*255);
			yield;
		}
	}

	task End
	{
		while(!Obj_IsDeleted(objEnemy))
		{
			if(ex-StagePlayerX<=-64 || ex-StagePlayerX>=GetStgFrameWidth+64 || ey-StagePlayerY<=-64 || ey-StagePlayerY>=448+64)
			{
				Obj_SetValue(objEnemy, "Vanished", 1);
			}

			yield;
		}
	}
	task EnemyFinalizeTask
	{
//	while( ( Obj_GetValue(objEnemy, "Vanished")==0 && ObjEnemy_GetInfo(objEnemy, INFO_LIFE) > 0 ) && SceneChange==false){yield;}
	while( ( Obj_GetValue(objEnemy, "Vanished")==0 && Obj_GetValue(objEnemy, "Life")>0) && SceneChange==false){yield;}
	yield;

	if(SceneChange==true){Obj_Delete(objEnemy);}
	else
	{
	if(Obj_GetValue(objEnemy, "Vanished")==0)
	{
		DefeatEffect(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy));
		SetDrop(objEnemy,3,1,1);
		SetCommonData("Secret1",GetCommonData("Secret1",1)+1);
		//CreateTreasure(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy),"Treasure");
		Obj_Delete(objEnemy);
	}
	else 
	{
		Obj_Delete(objEnemy);
		Rebirth;
	}
	}

	}

	task Rebirth
	{
		if(GetCommonData("StageClear",false)){return;}
		while(abx-StagePlayerX>=-64 && abx-StagePlayerX<=GetStgFrameWidth+64 && aby-StagePlayerY>=-64 && aby-StagePlayerY<=448+64)
		{
			if(SceneChange==true){return;}
			yield;
		}
		CreateEnemy01a(abx,aby);
	}
}

task CreateEnemy01b(abx,aby)
{
	let ex=abx+16;
	let ey=aby+16;
	let StopCount=0;

	while(ex-StagePlayerX<=-64 || ex-StagePlayerX>=GetStgFrameWidth+64 || ey-StagePlayerY<=-64 || ey-StagePlayerY>=448+64)
	{
		if(SceneChange==true){return;}
		yield;
	}

	let imgRedFairy = csd ~ "lib/fairy_red.png"; //G摜t@C
	let objEnemy=SetEnemyInfo(ex,ey,500,0,0,0,12,8,"img/fairy01.png");

	Obj_SetValue(objEnemy,"Knock_Right",0);
	Obj_SetValue(objEnemy,"Knock_Left",0);
	Obj_SetValue(objEnemy,"Knock_Up",0);
	Obj_SetValue(objEnemy,"Knock_Down",0);

	EnemyArray=EnemyArray~[objEnemy];
	let ArrayID=length(EnemyArray)-1;

	ObjMove_SetPosition(objEnemy, ex-StagePlayerX,ey-StagePlayerY);


	if(ex-StagePlayerX>=-32 && ex-StagePlayerX<=448+32 && ey-StagePlayerY>=0-32 && ey-StagePlayerY<=448+32)
	{
		AppearEffect(objEnemy,[255,64,64]);
		StopCount=60;
		Obj_SetValue(objEnemy,"Appear",1);
	}

	EnemyFinalizeTask;
	Move;
	Pos;
	End;

	while(!Obj_IsDeleted(objEnemy)){yield;}

	ascent(i in 0..length(EnemyArray))
	{
		if(EnemyArray[i]==objEnemy)
		{
			EnemyArray=erase(EnemyArray,i);
			break;
		}
	}

	task Pos
	{
		while(!Obj_IsDeleted(objEnemy))
		{
			if(Obj_GetValue(objEnemy,"Knock_Right")!=0)
			{
				ex+=5;
				Obj_SetValue(objEnemy,"Knock_Right",0);
			}
			if(Obj_GetValue(objEnemy,"Knock_Left")!=0)
			{
				ex-=5;
				Obj_SetValue(objEnemy,"Knock_Left",0);
			}
			if(Obj_GetValue(objEnemy,"Knock_Up")!=0)
			{
				ey-=5;
				Obj_SetValue(objEnemy,"Knock_Up",0);
			}
			if(Obj_GetValue(objEnemy,"Knock_Down")!=0)
			{
				ey+=5;
				Obj_SetValue(objEnemy,"Knock_Down",0);
			}
			ObjMove_SetPosition(objEnemy, ex-StagePlayerX,ey-StagePlayerY);
			yield;
		}

	}
	task Move
	{
		let speed=1.25;
		let MoveCount=0;
		let MoveAngle=GetAngleToPlayer(objEnemy)+rand(-10,10);
		let MoveStop=0;
		while(!Obj_IsDeleted(objEnemy))
		{
			ObjMove_SetAngle(objEnemy,MoveAngle);
			if(MoveCount%30==0)
			{
				MoveAngle=GetAngleToPlayer(objEnemy)+rand(-10,10);
				if(rand_int(0,8)==0)
				{
					MoveStop=1;
				}
				else
				{
					MoveStop=0;
				}
			}
			if(MoveStop==0 && StopCount==0)
			{
			ex+=speed*cos(MoveAngle);
			ey+=speed*sin(MoveAngle);
			}

			MoveCount+=1;
			if(GetCommonData("StageClear",false)){break;}
			if(StopCount>0){StopCount-=1;}
			ObjRender_SetAlpha(objEnemy,255-StopCount/60*255);
			yield;
		}
	}

	task End
	{
		while(!Obj_IsDeleted(objEnemy))
		{
			if(ex-StagePlayerX<=-64 || ex-StagePlayerX>=GetStgFrameWidth+64 || ey-StagePlayerY<=-64 || ey-StagePlayerY>=448+64)
			{
				Obj_SetValue(objEnemy, "Vanished", 1);
			}

			yield;
		}
	}
	task EnemyFinalizeTask
	{
//	while( ( Obj_GetValue(objEnemy, "Vanished")==0 && ObjEnemy_GetInfo(objEnemy, INFO_LIFE) > 0 ) && SceneChange==false){yield;}
	while( ( Obj_GetValue(objEnemy, "Vanished")==0 && Obj_GetValue(objEnemy, "Life")>0) && SceneChange==false){yield;}
	yield;

	if(SceneChange==true){Obj_Delete(objEnemy);}
	else
	{
	if(Obj_GetValue(objEnemy, "Vanished")==0)
	{
		DefeatEffect(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy));
		SetDrop(objEnemy,3,1,1);
		SetCommonData("Boss1",GetCommonData("Boss1",0)+1);
		//CreateTreasure(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy),"Treasure");
		Obj_Delete(objEnemy);
	}
	else 
	{
		Obj_Delete(objEnemy);
		Rebirth;
	}
	}

	}

	task Rebirth
	{
		if(GetCommonData("StageClear",false)){return;}
		while(abx-StagePlayerX>=-64 && abx-StagePlayerX<=GetStgFrameWidth+64 && aby-StagePlayerY>=-64 && aby-StagePlayerY<=448+64)
		{
			if(SceneChange==true){return;}
			yield;
		}
		CreateEnemy01b(abx,aby);
	}
}

task CreateEnemy02(abx,aby)
{
	let ex=abx+16;
	let ey=aby+16;

	while(ex-StagePlayerX<=-64 || ex-StagePlayerX>=GetStgFrameWidth+64 || ey-StagePlayerY<=-64 || ey-StagePlayerY>=448+64)
	{
		if(SceneChange==true){return;}
		yield;
	}

	let imgRedFairy = csd ~ "lib/fairy_red.png"; //G摜t@C
	let objEnemy=SetEnemyInfo(ex,ey,500,0,0,0,12,8,"img/fairy02.png");

	Obj_SetValue(objEnemy,"Knock_Right",0);
	Obj_SetValue(objEnemy,"Knock_Left",0);
	Obj_SetValue(objEnemy,"Knock_Up",0);
	Obj_SetValue(objEnemy,"Knock_Down",0);

	EnemyArray=EnemyArray~[objEnemy];
	let ArrayID=length(EnemyArray)-1;

	let StopCount=0;
	if(ex-StagePlayerX>=-32 && ex-StagePlayerX<=448+32 && ey-StagePlayerY>=0-32 && ey-StagePlayerY<=448+32)
	{
		AppearEffect(objEnemy,[255,64,64]);
		StopCount=60;
	}

	EnemyFinalizeTask;
	Shot;
	Move;
	Pos;
	End;

	while(!Obj_IsDeleted(objEnemy)){yield;}

	ascent(i in 0..length(EnemyArray))
	{
		if(EnemyArray[i]==objEnemy)
		{
			EnemyArray=erase(EnemyArray,i);
			break;
		}
	}

	task Pos
	{
		while(!Obj_IsDeleted(objEnemy))
		{
			if(Obj_GetValue(objEnemy,"Knock_Right")!=0)
			{
				ex+=5;
				Obj_SetValue(objEnemy,"Knock_Right",0);
			}
			if(Obj_GetValue(objEnemy,"Knock_Left")!=0)
			{
				ex-=5;
				Obj_SetValue(objEnemy,"Knock_Left",0);
			}
			if(Obj_GetValue(objEnemy,"Knock_Up")!=0)
			{
				ey-=5;
				Obj_SetValue(objEnemy,"Knock_Up",0);
			}
			if(Obj_GetValue(objEnemy,"Knock_Down")!=0)
			{
				ey+=5;
				Obj_SetValue(objEnemy,"Knock_Down",0);
			}
			ObjMove_SetPosition(objEnemy, ex-StagePlayerX,ey-StagePlayerY);
			yield;
		}

	}

	task Shot
	{
		wait(60);
		while(!Obj_IsDeleted(objEnemy))
		{
			if(GetCommonData("StageClear",false)){break;}
			SP_CreateShotA1(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy),1.5,GetAngleToPlayer(objEnemy),DS_BALL_S_RED,0);
			wait(120);
		}

	}

	task Move
	{
		let speed=0.8;
		let MoveCount=0;
		let MoveAngle=GetAngleToPlayer(objEnemy)+rand(-10,10);
		let MoveStop=0;
		while(!Obj_IsDeleted(objEnemy))
		{
			ObjMove_SetAngle(objEnemy,MoveAngle);
			if(MoveCount%30==0)
			{
				MoveAngle=GetAngleToPlayer(objEnemy)+rand(-10,10);
				if(rand_int(0,8)==0)
				{
					MoveStop=1;
				}
				else
				{
					MoveStop=0;
				}
			}
			if(MoveStop==0)
			{
			ex+=speed*cos(MoveAngle);
			ey+=speed*sin(MoveAngle);
			}

			MoveCount+=1;
			if(GetCommonData("StageClear",false)){break;}
			yield;
		}
	}

	task End
	{
		while(!Obj_IsDeleted(objEnemy))
		{
			if(ex-StagePlayerX<=-64 || ex-StagePlayerX>=GetStgFrameWidth+64 || ey-StagePlayerY<=-64 || ey-StagePlayerY>=448+64)
			{
				Obj_SetValue(objEnemy, "Vanished", 1);
			}

			yield;
		}
	}
	task EnemyFinalizeTask
	{
//	while( ( Obj_GetValue(objEnemy, "Vanished")==0 && ObjEnemy_GetInfo(objEnemy, INFO_LIFE) > 0 ) && SceneChange==false){yield;}
	while( ( Obj_GetValue(objEnemy, "Vanished")==0 && Obj_GetValue(objEnemy, "Life")>0) && SceneChange==false){yield;}
	yield;

	if(SceneChange==true){Obj_Delete(objEnemy);}
	else
	{
	if(Obj_GetValue(objEnemy, "Vanished")==0)
	{
		DefeatEffect(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy));
		SetDrop(objEnemy,4,1,1);
		SetDrop(objEnemy,0,1,0);
		//CreateTreasure(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy),"Treasure");
		Obj_Delete(objEnemy);
	}
	else 
	{
		Obj_Delete(objEnemy);
		Rebirth;
	}
	}

	}

	task Rebirth
	{
		if(GetCommonData("StageClear",false)){return;}
		while(abx-StagePlayerX>=-64 && abx-StagePlayerX<=GetStgFrameWidth+64 && aby-StagePlayerY>=-64 && aby-StagePlayerY<=448+64)
		{
			if(SceneChange==true){return;}
			yield;
		}
		CreateEnemy02(abx,aby);
	}
}

task CreateEnemy03(abx,aby)
{
	let ex=abx+16;
	let ey=aby+16;

	while(ex-StagePlayerX<=-64 || ex-StagePlayerX>=GetStgFrameWidth+64 || ey-StagePlayerY<=-64 || ey-StagePlayerY>=448+64)
	{
		if(SceneChange==true){return;}
		yield;
	}

	let imgRedFairy = csd ~ "lib/fairy_red.png"; //G摜t@C
	let objEnemy=SetEnemyInfo(ex,ey,600,0,0,0,12,8,"img/fairy03.png");

	ObjRender_SetScaleXYZ(objEnemy,1.0,1.0,0);
	Obj_SetValue(objEnemy,"Knock_Right",0);
	Obj_SetValue(objEnemy,"Knock_Left",0);
	Obj_SetValue(objEnemy,"Knock_Up",0);
	Obj_SetValue(objEnemy,"Knock_Down",0);

	EnemyArray=EnemyArray~[objEnemy];
	let ArrayID=length(EnemyArray)-1;

	let StopCount=0;
	if(ex-StagePlayerX>=-32 && ex-StagePlayerX<=448+32 && ey-StagePlayerY>=0-32 && ey-StagePlayerY<=448+32)
	{
		AppearEffect(objEnemy,[255,64,64]);
		StopCount=60;
	}

	EnemyFinalizeTask;
	Shot;
	Move;
	Pos;
	End;

	while(!Obj_IsDeleted(objEnemy)){yield;}

	ascent(i in 0..length(EnemyArray))
	{
		if(EnemyArray[i]==objEnemy)
		{
			EnemyArray=erase(EnemyArray,i);
			break;
		}
	}

	task Pos
	{
		while(!Obj_IsDeleted(objEnemy))
		{
			if(Obj_GetValue(objEnemy,"Knock_Right")!=0)
			{
				ex+=5;
				Obj_SetValue(objEnemy,"Knock_Right",0);
			}
			if(Obj_GetValue(objEnemy,"Knock_Left")!=0)
			{
				ex-=5;
				Obj_SetValue(objEnemy,"Knock_Left",0);
			}
			if(Obj_GetValue(objEnemy,"Knock_Up")!=0)
			{
				ey-=5;
				Obj_SetValue(objEnemy,"Knock_Up",0);
			}
			if(Obj_GetValue(objEnemy,"Knock_Down")!=0)
			{
				ey+=5;
				Obj_SetValue(objEnemy,"Knock_Down",0);
			}
			ObjMove_SetPosition(objEnemy, ex-StagePlayerX,ey-StagePlayerY);
			yield;
		}

	}

	task Shot
	{
		wait(90);
		while(!Obj_IsDeleted(objEnemy))
		{
			if(GetCommonData("StageClear",false)){break;}
			SP_CreateShotA1(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy),1.5,GetAngleToPlayer(objEnemy),DS_BALL_S_RED,0);
			SP_CreateShotA1(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy),1.5,GetAngleToPlayer(objEnemy)+10,DS_BALL_S_RED,0);
			SP_CreateShotA1(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy),1.5,GetAngleToPlayer(objEnemy)-10,DS_BALL_S_RED,0);
			wait(150);
		}

	}

	task Move
	{
		let speed=0.75;
		let MoveCount=0;
		let MoveAngle=GetAngleToPlayer(objEnemy)+rand(-10,10);
		let MoveStop=0;
		while(!Obj_IsDeleted(objEnemy))
		{
			ObjMove_SetAngle(objEnemy,MoveAngle);
			if(MoveCount%30==0)
			{
				MoveAngle=GetAngleToPlayer(objEnemy)+rand(-10,10);
				if(rand_int(0,8)==0)
				{
					MoveStop=1;
				}
				else
				{
					MoveStop=0;
				}
			}
			if(MoveStop==0)
			{
			ex+=speed*cos(MoveAngle);
			ey+=speed*sin(MoveAngle);
			}

			MoveCount+=1;
			if(GetCommonData("StageClear",false)){break;}
			yield;
		}
	}

	task End
	{
		while(!Obj_IsDeleted(objEnemy))
		{
			if(ex-StagePlayerX<=-64 || ex-StagePlayerX>=GetStgFrameWidth+64 || ey-StagePlayerY<=-64 || ey-StagePlayerY>=448+64)
			{
				Obj_SetValue(objEnemy, "Vanished", 1);
			}

			yield;
		}
	}
	task EnemyFinalizeTask
	{
//	while( ( Obj_GetValue(objEnemy, "Vanished")==0 && ObjEnemy_GetInfo(objEnemy, INFO_LIFE) > 0 ) && SceneChange==false){yield;}
	while( ( Obj_GetValue(objEnemy, "Vanished")==0 && Obj_GetValue(objEnemy, "Life")>0) && SceneChange==false){yield;}
	yield;

	if(SceneChange==true){Obj_Delete(objEnemy);}
	else
	{
	if(Obj_GetValue(objEnemy, "Vanished")==0)
	{
		DefeatEffect(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy));
		SetDrop(objEnemy,5,1,1);
		SetDrop(objEnemy,0,1,1);
		SetDrop(objEnemy,0,1,0);
		//CreateTreasure(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy),"Treasure");
		Obj_Delete(objEnemy);
	}
	else 
	{
		Obj_Delete(objEnemy);
		Rebirth;
	}
	}

	}

	task Rebirth
	{
		if(GetCommonData("StageClear",false)){return;}
		while(abx-StagePlayerX>=-64 && abx-StagePlayerX<=GetStgFrameWidth+64 && aby-StagePlayerY>=-64 && aby-StagePlayerY<=448+64)
		{
			if(SceneChange==true){return;}
			yield;
		}
		CreateEnemy03(abx,aby);
	}
}

task CreateEnemy04(abx,aby)
{
	let ex=abx+16;
	let ey=aby+16;

	while(ex-StagePlayerX<=-64 || ex-StagePlayerX>=GetStgFrameWidth+64 || ey-StagePlayerY<=-64 || ey-StagePlayerY>=448+64)
	{
		if(SceneChange==true){return;}
		yield;
	}

	let imgRedFairy = csd ~ "lib/fairy_red.png"; //G摜t@C
	let objEnemy=SetEnemyInfo(ex,ey,3000,0,0,0,12,8,"img/fairy04.png");

	ObjRender_SetScaleXYZ(objEnemy,1.0,1.0,0);
	Obj_SetValue(objEnemy,"Knock_Right",0);
	Obj_SetValue(objEnemy,"Knock_Left",0);
	Obj_SetValue(objEnemy,"Knock_Up",0);
	Obj_SetValue(objEnemy,"Knock_Down",0);

	EnemyArray=EnemyArray~[objEnemy];
	let ArrayID=length(EnemyArray)-1;

	let StopCount=0;
	if(ex-StagePlayerX>=-32 && ex-StagePlayerX<=448+32 && ey-StagePlayerY>=0-32 && ey-StagePlayerY<=448+32)
	{
		AppearEffect(objEnemy,[255,64,64]);
		StopCount=60;
	}

	EnemyFinalizeTask;
	Shot;
	Shot2;
	Move;
	Pos;
	End;

	while(!Obj_IsDeleted(objEnemy)){yield;}

	ascent(i in 0..length(EnemyArray))
	{
		if(EnemyArray[i]==objEnemy)
		{
			EnemyArray=erase(EnemyArray,i);
			break;
		}
	}

	task Pos
	{
		while(!Obj_IsDeleted(objEnemy))
		{
			if(Obj_GetValue(objEnemy,"Knock_Right")!=0)
			{
				ex+=5;
				Obj_SetValue(objEnemy,"Knock_Right",0);
			}
			if(Obj_GetValue(objEnemy,"Knock_Left")!=0)
			{
				ex-=5;
				Obj_SetValue(objEnemy,"Knock_Left",0);
			}
			if(Obj_GetValue(objEnemy,"Knock_Up")!=0)
			{
				ey-=5;
				Obj_SetValue(objEnemy,"Knock_Up",0);
			}
			if(Obj_GetValue(objEnemy,"Knock_Down")!=0)
			{
				ey+=5;
				Obj_SetValue(objEnemy,"Knock_Down",0);
			}
			ObjMove_SetPosition(objEnemy, ex-StagePlayerX,ey-StagePlayerY);
			yield;
		}

	}

	task Shot
	{
		wait(120);
		while(!Obj_IsDeleted(objEnemy))
		{
			if(GetCommonData("StageClear",false)){break;}
		let rangle=rand(0,360);
			ascent(i in 0..8)
			{
			SP_CreateShotA1(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy),1.0,rangle+i*45,DS_BALL_S_BLUE,0);
			}
			wait(150);
		}

	}

	task Shot2
	{
		wait(30);
		while(!Obj_IsDeleted(objEnemy))
		{
			if(GetCommonData("StageClear",false)){break;}
			SP_CreateShotA1(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy),1.5,GetAngleToPlayer(objEnemy),DS_BALL_S_RED,0);
			wait(90);
		}

	}

	task Move
	{
		let speed=0.25;
		let MoveCount=0;
		let MoveAngle=GetAngleToPlayer(objEnemy)+rand(-10,10);
		let MoveStop=0;
		while(!Obj_IsDeleted(objEnemy))
		{
			ObjMove_SetAngle(objEnemy,MoveAngle);
			if(MoveCount%30==0)
			{
				MoveAngle=GetAngleToPlayer(objEnemy)+rand(-10,10);
				if(rand_int(0,8)==0)
				{
					MoveStop=1;
				}
				else
				{
					MoveStop=0;
				}
			}
			if(MoveStop==0)
			{
			ex+=speed*cos(MoveAngle);
			ey+=speed*sin(MoveAngle);
			}

			MoveCount+=1;
			if(GetCommonData("StageClear",false)){break;}
			yield;
		}
	}

	task End
	{
		while(!Obj_IsDeleted(objEnemy))
		{
			if(ex-StagePlayerX<=-64 || ex-StagePlayerX>=GetStgFrameWidth+64 || ey-StagePlayerY<=-64 || ey-StagePlayerY>=448+64)
			{
	//			Obj_SetValue(objEnemy, "Vanished", 1);
			}

			yield;
		}
	}
	task EnemyFinalizeTask
	{
//	while( ( Obj_GetValue(objEnemy, "Vanished")==0 && ObjEnemy_GetInfo(objEnemy, INFO_LIFE) > 0 ) && SceneChange==false){yield;}
	while( ( Obj_GetValue(objEnemy, "Vanished")==0 && Obj_GetValue(objEnemy, "Life")>0) && SceneChange==false){yield;}
	yield;

	if(SceneChange==true){Obj_Delete(objEnemy);}
	else
	{
	if(Obj_GetValue(objEnemy, "Vanished")==0)
	{
		SetCommonData("Boss2",GetCommonData("Boss2",0)+1);
		DefeatEffect(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy));
		SetDrop(objEnemy,5,1,1);
		SetDrop(objEnemy,0,1,1);
		SetDrop(objEnemy,0,1,0);
		//CreateTreasure(ObjMove_GetX(objEnemy),ObjMove_GetY(objEnemy),"Treasure");
		Obj_Delete(objEnemy);
	}
	else 
	{
		Obj_Delete(objEnemy);
		Rebirth;
	}
	}

	}

	task Rebirth
	{
		if(GetCommonData("StageClear",false)){return;}
		while(abx-StagePlayerX>=-64 && abx-StagePlayerX<=GetStgFrameWidth+64 && aby-StagePlayerY>=-64 && aby-StagePlayerY<=448+64)
		{
			if(SceneChange==true){return;}
			yield;
		}
		CreateEnemy03(abx,aby);
	}
}