let GCSD = GetCurrentScriptDirectory;
let mx =GetClipMinX();
let Mx =GetClipMaxX();
let cx =GetCenterX();
let my =GetClipMinY();
let My =GetClipMaxY();
let cy =GetCenterX();


function Wait(frame){loop(frame){yield;}}
function WaitForZeroEnemy{while(GetEnemyNum != 0){yield;}}
function MakeBoss(enemypass){CreateEnemyBossFromFile(enemypass,0,0,0,0,0);}
function MakeZako(enemypass,x,y,move,angle,level){CreateEnemyFromFile(enemypass,x,y,move,angle,level);}

function MakeZako1(x,y,level){MakeZako(GCSD~"\Stage\Zako\Enemy01.txt",x,y,0,0,level);}
function MakeZako2(x,y,level){MakeZako(GCSD~"\Stage\Zako\Enemy02.txt",x,y,0,0,level);}
function MakeZako3(x,y,level){MakeZako(GCSD~"\Stage\Zako\Enemy03.txt",x,y,0,0,level);}
function MakeZako4(x,y,level){MakeZako(GCSD~"\Stage\Zako\Enemy04.txt",x,y,0,0,level);}
function MakeZako5a(y,angle,level){MakeZako(GCSD~"\Stage\Zako\Enemy05.txt",0,y,0,angle,level);}
function MakeZako5b(y,angle,level){MakeZako(GCSD~"\Stage\Zako\Enemy05.txt",Mx+16,y,1,angle,level);}
function MakeZako6a(y,level){MakeZako(GCSD~"\Stage\Zako\Enemy06.txt",0,y,0,0,level);}
function MakeZako6b(y,level){MakeZako(GCSD~"\Stage\Zako\Enemy06.txt",Mx+16,y,0,0,level);}
function MakeZako7(level){MakeZako(GCSD~"\Stage\Zako\Enemy07.txt",Mx+16,100,0,0,level);
			MakeZako(GCSD~"\Stage\Zako\Enemy07.txt",0,150,0,0,level);
			MakeZako(GCSD~"\Stage\Zako\Enemy07.txt",cx,0,0,0,level);
			MakeZako(GCSD~"\Stage\Zako\Enemy07.txt",0,330,0,0,level);
			MakeZako(GCSD~"\Stage\Zako\Enemy07.txt",Mx+16,380,0,0,level);}

function MakeZako8a(y,level){MakeZako(GCSD~"\Stage\Zako\Enemy08.txt",0,y,0,0,level);}
function MakeZako8b(y,level){MakeZako(GCSD~"\Stage\Zako\Enemy08.txt",Mx+16,y,0,0,level);}
function MakeZako9(x,level){MakeZako(GCSD~"\Stage\Zako\Enemy09.txt",x,0,0,0,level);}
function MakeZako10(x,level){MakeZako(GCSD~"\Stage\Zako\Enemy10.txt",x,0,0,0,level);}
function MakeZako11a(y,level){MakeZako(GCSD~"\Stage\Zako\Enemy11.txt",0,y,0,0,level);}
function MakeZako11b(y,level){MakeZako(GCSD~"\Stage\Zako\Enemy11.txt",Mx+16,y,0,0,level);}
function MakeZako12(x,level){MakeZako(GCSD~"\Stage\Zako\Enemy12.txt",x,0,0,0,level);}
function MakeZako13(x,level){MakeZako(GCSD~"\Stage\Zako\Enemy13.txt",x,0,0,0,level);}
function MakeZako14(x,level){MakeZako(GCSD~"\Stage\Zako\Enemy14.txt",x,0,0,0,level);}
function MakeZako15(x,level){MakeZako(GCSD~"\Stage\Zako\Enemy15.txt",x,0,0,0,level);}

function MakeZako16(level){MakeZako(GCSD~"\Stage\Zako\Enemy16.txt",cx,0,0,0,level);}
function MakeZako17a(y,level){MakeZako(GCSD~"\Stage\Zako\Enemy17.txt",0,0,0,0,level);}
function MakeZako17b(y,level){MakeZako(GCSD~"\Stage\Zako\Enemy17.txt",Mx+16,0,0,0,level);}
function MakeZako18(x,level){MakeZako(GCSD~"\Stage\Zako\Enemy18.txt",x,My+16,0,0,level);}
function MakeZako19(x,level){MakeZako(GCSD~"\Stage\Zako\Enemy19.txt",x,0,0,0,level);}
function MakeZako20(x,level){MakeZako(GCSD~"\Stage\Zako\Enemy20.txt",x,0,0,0,level);}
function MakeZako21(x,level){MakeZako(GCSD~"\Stage\Zako\Enemy21.txt",x,0,0,0,level);}



function EasyStage1{
SetCommonData("STAGE",1);
Wait(288);
loop(2){
loop(3){
Wait(12);
MakeZako1(Mx-64,0,0);
Wait(12);
MakeZako1(Mx-48,0,0);
Wait(12);
MakeZako1(Mx-80,0,0);
}
Wait(60);
loop(3){
Wait(12);
MakeZako1(mx+64,0,0);
Wait(12);
MakeZako1(mx+48,0,0);
Wait(12);
MakeZako1(mx+80,0,0);
}
Wait(60);
}
MakeZako2(cx-120,0,0);
Wait(30);
MakeZako2(cx-40,0,0);
Wait(30);
MakeZako2(cx+40,0,0);
Wait(30);
MakeZako2(cx+120,0,0);
Wait(90);
MakeZako2(cx+120,0,0);
Wait(30);
MakeZako2(cx+40,0,0);
Wait(30);
MakeZako2(cx-40,0,0);
Wait(30);
MakeZako2(cx-120,0,0);
Wait(90);
MakeZako3(cx,0,0);
Wait(300);
MakeZako3(cx-50,0,0);
MakeZako3(cx+50,0,0);
Wait(300);
MakeZako3(cx-100,0,0);
MakeZako3(cx+100,0,0);
Wait(600);
MakeBoss(GCSD~"\Stage\Boss\CirnoAE.txt");
WaitForZeroEnemy();
Wait(80);
MakeZako4(cx,0,0);
Wait(40);
loop(5){
MakeZako6a(70,0);
Wait(12);
}
Wait(60);
loop(5){
MakeZako6b(70,0);
Wait(12);
}
Wait(60);
MakeZako3(mx+64,0,0);
MakeZako2(cx-120,0,0);
Wait(60);
MakeZako2(cx+100,0,0);
Wait(60);
MakeZako2(cx-80,0,0);
Wait(60);
MakeZako2(cx+40,0,0);
Wait(300);
MakeZako3(Mx-64,0,0);
MakeZako2(cx-40,0,0);
Wait(60);
MakeZako2(cx+80,0,0);
Wait(60);
MakeZako2(cx-100,0,0);
Wait(60);
MakeZako2(cx+120,0,0);
Wait(300);
Wait(60);
MakeZako3(mx+64,0,0);
loop(5){
MakeZako6a(70,0);
Wait(12);
}
MakeZako2(cx-120,0,0);
Wait(60);
MakeZako2(cx+100,0,0);
Wait(60);
MakeZako2(cx-80,0,0);
Wait(60);
MakeZako2(cx+40,0,0);
Wait(300);
MakeZako3(Mx-64,0,0);
loop(5){
MakeZako6b(70,0);
Wait(12);
}
MakeZako2(cx-40,0,0);
Wait(60);
MakeZako2(cx+80,0,0);
Wait(60);
MakeZako2(cx-100,0,0);
Wait(60);
MakeZako2(cx+120,0,0);

MakeZako5a(cy-120,45,0);
Wait(80);
MakeZako5b(cy-120,135,0);
Wait(80);
MakeZako7(0);
Wait(300);

MakeBoss(GCSD~"\Stage\Boss\CirnoBE.txt");
WaitForZeroEnemy();
Wait(120);
}

function NormalStage1{
SetCommonData("STAGE",1);
Wait(288);
loop(2){
loop(3){
Wait(12);
MakeZako1(Mx-64,0,1);
Wait(12);
MakeZako1(Mx-48,0,1);
Wait(12);
MakeZako1(Mx-80,0,1);
}
Wait(60);
loop(3){
Wait(12);
MakeZako1(mx+64,0,1);
Wait(12);
MakeZako1(mx+48,0,1);
Wait(12);
MakeZako1(mx+80,0,1);
}
Wait(60);
}
MakeZako2(cx-120,0,1);
Wait(30);
MakeZako2(cx-40,0,0);
Wait(30);
MakeZako2(cx+40,0,0);
Wait(30);
MakeZako2(cx+120,0,1);
Wait(90);
MakeZako2(cx+120,0,0);
Wait(30);
MakeZako2(cx+40,0,1);
Wait(30);
MakeZako2(cx-40,0,1);
Wait(30);
MakeZako2(cx-120,0,0);
Wait(90);
MakeZako3(cx,0,1);
Wait(300);
MakeZako3(cx-50,0,0);
MakeZako3(cx+50,0,0);
Wait(300);
MakeZako3(cx-100,0,1);
MakeZako3(cx+100,0,1);
Wait(600);
MakeBoss(GCSD~"\Stage\Boss\CirnoAN.txt");
WaitForZeroEnemy();
Wait(80);
MakeZako4(cx,0,1);
Wait(40);
loop(5){
MakeZako6a(70,1);
Wait(12);
}
Wait(60);
loop(5){
MakeZako6b(70,1);
Wait(12);
}
Wait(60);
MakeZako3(mx+64,0,1);
MakeZako2(cx-120,0,0);
Wait(60);
MakeZako2(cx+100,0,0);
Wait(60);
MakeZako2(cx-80,0,0);
Wait(60);
MakeZako2(cx+40,0,1);
Wait(300);
MakeZako3(Mx-64,0,1);
MakeZako2(cx-40,0,0);
Wait(60);
MakeZako2(cx+80,0,0);
Wait(60);
MakeZako2(cx-100,0,0);
Wait(60);
MakeZako2(cx+120,0,1);
Wait(300);
Wait(60);
MakeZako3(mx+64,0,0);
loop(5){
MakeZako6a(70,1);
Wait(12);
}
MakeZako2(cx-120,0,0);
Wait(60);
MakeZako2(cx+100,0,0);
Wait(60);
MakeZako2(cx-80,0,0);
Wait(60);
MakeZako2(cx+40,0,0);
Wait(300);
MakeZako3(Mx-64,0,0);
loop(5){
MakeZako6b(70,1);
Wait(12);
}
MakeZako2(cx-40,0,0);
Wait(60);
MakeZako2(cx+80,0,0);
Wait(60);
MakeZako2(cx-100,0,0);
Wait(60);
MakeZako2(cx+120,0,0);

MakeZako5a(cy-120,45,1);
Wait(80);
MakeZako5b(cy-120,135,1);
Wait(80);
MakeZako7(1);
Wait(300);

MakeBoss(GCSD~"\Stage\Boss\CirnoBN.txt");
WaitForZeroEnemy();
Wait(120);
}


function HardStage1{
SetCommonData("STAGE",1);
Wait(288);
loop(2){
loop(3){
Wait(12);
MakeZako1(Mx-64,0,2);
Wait(12);
MakeZako1(Mx-48,0,2);
Wait(12);
MakeZako1(Mx-80,0,2);
}
Wait(60);
loop(3){
Wait(12);
MakeZako1(mx+64,0,2);
Wait(12);
MakeZako1(mx+48,0,2);
Wait(12);
MakeZako1(mx+80,0,2);
}
Wait(60);
}
MakeZako2(cx-120,0,1);
Wait(30);
MakeZako2(cx-40,0,2);
Wait(30);
MakeZako2(cx+40,0,2);
Wait(30);
MakeZako2(cx+120,0,1);
Wait(90);
MakeZako2(cx+120,0,1);
Wait(30);
MakeZako2(cx+40,0,2);
Wait(30);
MakeZako2(cx-40,0,2);
Wait(30);
MakeZako2(cx-120,0,1);
Wait(90);
MakeZako3(cx,0,2);
Wait(300);
MakeZako3(cx-50,0,0);
MakeZako3(cx+50,0,0);
Wait(300);
MakeZako3(cx-100,0,1);
MakeZako3(cx+100,0,1);
Wait(600);
MakeBoss(GCSD~"\Stage\Boss\CirnoAH.txt");
WaitForZeroEnemy();
Wait(80);
MakeZako4(cx,0,2);
Wait(40);
loop(5){
MakeZako6a(70,2);
Wait(12);
}
Wait(60);
loop(5){
MakeZako6b(70,2);
Wait(12);
}
Wait(60);
MakeZako3(mx+64,0,1);
MakeZako2(cx-120,0,1);
Wait(60);
MakeZako2(cx+100,0,1);
Wait(60);
MakeZako2(cx-80,0,1);
Wait(60);
MakeZako2(cx+40,0,1);
Wait(300);
MakeZako3(Mx-64,0,1);
MakeZako2(cx-40,0,1);
Wait(60);
MakeZako2(cx+80,0,1);
Wait(60);
MakeZako2(cx-100,0,1);
Wait(60);
MakeZako2(cx+120,0,1);
Wait(300);
Wait(60);
MakeZako3(mx+64,0,2);
loop(5){
MakeZako6a(70,1);
Wait(12);
}
MakeZako2(cx-120,0,0);
Wait(60);
MakeZako2(cx+100,0,2);
Wait(60);
MakeZako2(cx-80,0,2);
Wait(60);
MakeZako2(cx+40,0,0);
Wait(300);
MakeZako3(Mx-64,0,1);
loop(5){
MakeZako6b(70,1);
Wait(12);
}
MakeZako2(cx-40,0,0);
Wait(60);
MakeZako2(cx+80,0,2);
Wait(60);
MakeZako2(cx-100,0,2);
Wait(60);
MakeZako2(cx+120,0,0);

MakeZako5a(cy-120,45,2);
Wait(80);
MakeZako5b(cy-120,135,2);
Wait(80);
MakeZako7(2);
Wait(300);

MakeBoss(GCSD~"\Stage\Boss\CirnoBH.txt");
WaitForZeroEnemy();
Wait(120);
}

function LunaticStage1{
SetCommonData("STAGE",1);
Wait(288);
loop(2){
loop(3){
Wait(12);
MakeZako1(Mx-64,0,3);
Wait(12);
MakeZako1(Mx-48,0,3);
Wait(12);
MakeZako1(Mx-80,0,3);
}
Wait(60);
loop(3){
Wait(12);
MakeZako1(mx+64,0,3);
Wait(12);
MakeZako1(mx+48,0,3);
Wait(12);
MakeZako1(mx+80,0,3);
}
Wait(60);
}
MakeZako2(cx-120,0,3);
Wait(30);
MakeZako2(cx-40,0,2);
Wait(30);
MakeZako2(cx+40,0,2);
Wait(30);
MakeZako2(cx+120,0,3);
Wait(90);
MakeZako2(cx+120,0,3);
Wait(30);
MakeZako2(cx+40,0,2);
Wait(30);
MakeZako2(cx-40,0,2);
Wait(30);
MakeZako2(cx-120,0,3);
Wait(90);
MakeZako3(cx,0,3);
Wait(300);
MakeZako3(cx-50,0,1);
MakeZako3(cx+50,0,1);
Wait(300);
MakeZako3(cx-100,0,2);
MakeZako3(cx+100,0,2);
Wait(600);
MakeBoss(GCSD~"\Stage\Boss\CirnoAL.txt");
WaitForZeroEnemy();
Wait(80);
MakeZako4(cx,0,3);
Wait(40);
loop(5){
MakeZako6a(70,3);
Wait(12);
}
Wait(60);
loop(5){
MakeZako6b(70,3);
Wait(12);
}
Wait(60);
MakeZako3(mx+64,0,3);
MakeZako2(cx-120,0,3);
Wait(60);
MakeZako2(cx+100,0,3);
Wait(60);
MakeZako2(cx-80,0,3);
Wait(60);
MakeZako2(cx+40,0,3);
Wait(300);
MakeZako3(Mx-64,0,3);
MakeZako2(cx-40,0,3);
Wait(60);
MakeZako2(cx+80,0,3);
Wait(60);
MakeZako2(cx-100,0,3);
Wait(60);
MakeZako2(cx+120,0,3);
Wait(300);
Wait(60);
MakeZako3(mx+64,0,3);
loop(5){
MakeZako6a(70,2);
Wait(12);
}
MakeZako2(cx-120,0,1);
Wait(60);
MakeZako2(cx+100,0,3);
Wait(60);
MakeZako2(cx-80,0,3);
Wait(60);
MakeZako2(cx+40,0,1);
Wait(300);
MakeZako3(Mx-64,0,3);
loop(5){
MakeZako6b(70,2);
Wait(12);
}
MakeZako2(cx-40,0,1);
Wait(60);
MakeZako2(cx+80,0,3);
Wait(60);
MakeZako2(cx-100,0,3);
Wait(60);
MakeZako2(cx+120,0,1);

MakeZako5a(cy-120,45,3);
Wait(80);
MakeZako5b(cy-120,135,3);
Wait(80);
MakeZako7(3);
Wait(300);

MakeBoss(GCSD~"\Stage\Boss\CirnoBL.txt");
WaitForZeroEnemy();
Wait(120);
}

function EasyStage2{
SetCommonData("STAGE",2);
Wait(150);
loop(5){
MakeZako6a(70,0);
MakeZako6b(70,0);
Wait(12);
}
Wait(90);

loop(5){
MakeZako8a(cy-120,0);
Wait(48);
MakeZako8b(cy-120,0);
Wait(48)}

MakeZako12(cx-80,0);
Wait(70);
MakeZako12(cx-40,0);
Wait(70);
MakeZako12(cx,0);
Wait(70);
MakeZako12(cx+40,0);
Wait(70);
MakeZako12(cx+80,0);
Wait(70);

Wait(60);
MakeZako9(140,0);
MakeZako9(60,0);
MakeZako9(100,0);
MakeZako9(220,0);
MakeZako9(180,0);
MakeZako9(260,0);
MakeZako9(380,0);
MakeZako9(300,0);
MakeZako9(340,0);
Wait(180);

MakeZako3(cx,0,1);
Wait(320);
let a = 80;
loop(3){
MakeZako10(cx-a,0);
MakeZako10(cx+a,0);
Wait(220);
a += 20;
}
Wait(300);
MakeZako14(cx,0);
Wait(500);

MakeBoss(GCSD~"\Stage\Boss\AliceAE.txt");
WaitForZeroEnemy();
Wait(180);
MakeZako11a(cy-120,0);
MakeZako8b(cy-120,0);
Wait(300);
MakeZako11b(cy-120,0);
MakeZako8a(cy-120,0);
Wait(300);
MakeZako12(cx-80,0);
Wait(110);
MakeZako12(cx+80,0);
Wait(110);
MakeZako13(cx,0);
Wait(180);
MakeZako9(140,0);
MakeZako9(60,0);
MakeZako9(100,0);
MakeZako9(220,0);
MakeZako9(180,0);
MakeZako9(260,0);
MakeZako9(380,0);
MakeZako9(300,0);
MakeZako9(340,0);
Wait(180);
MakeZako11a(cy-80,0);
MakeZako11b(cy-80,0);
Wait(240);
MakeZako12(cx-80,0);
Wait(60);
MakeZako12(cx-40,0);
Wait(60);
MakeZako12(cx,0);
Wait(60);
MakeZako12(cx+40,0);
Wait(60);
MakeZako12(cx+80,0);
Wait(120);
MakeZako12(cx+120,0);
Wait(60);
MakeZako12(cx-60,0);
Wait(60);
MakeZako12(cx,0);
Wait(60);
MakeZako12(cx+60,0);
Wait(60);
MakeZako12(cx-120,0);
Wait(360);
MakeZako15(cx,0);
Wait(500);

MakeBoss(GCSD~"\Stage\Boss\AliceBE.txt");
WaitForZeroEnemy();
Wait(120);
}

function NormalStage2{
SetCommonData("STAGE",2);
Wait(150);
loop(5){
MakeZako6a(70,1);
MakeZako6b(70,1);
Wait(12);
}
Wait(90);

loop(5){
MakeZako8a(cy-120,1);
Wait(48);
MakeZako8b(cy-120,1);
Wait(48)}

MakeZako12(cx-80,1);
Wait(70);
MakeZako12(cx-40,1);
Wait(70);
MakeZako12(cx,1);
Wait(70);
MakeZako12(cx+40,1);
Wait(70);
MakeZako12(cx+80,1);
Wait(70);

Wait(60);
MakeZako9(140,1);
MakeZako9(60,1);
MakeZako9(100,1);
MakeZako9(220,1);
MakeZako9(180,1);
MakeZako9(260,1);
MakeZako9(380,1);
MakeZako9(300,1);
MakeZako9(340,1);
Wait(180);

MakeZako3(cx,0,2);
Wait(320);
let a = 80;
loop(3){
MakeZako10(cx-a,1);
MakeZako10(cx+a,1);
Wait(220);
a += 20;
}
Wait(300);
MakeZako14(cx,1);
Wait(500);

MakeBoss(GCSD~"\Stage\Boss\AliceAN.txt");
WaitForZeroEnemy();
Wait(180);
MakeZako11a(cy-120,1);
MakeZako8b(cy-120,1);
Wait(300);
MakeZako11b(cy-120,1);
MakeZako8a(cy-120,1);
Wait(300);
MakeZako12(cx-80,1);
Wait(110);
MakeZako12(cx+80,1);
Wait(110);
MakeZako13(cx,1);
Wait(180);
MakeZako9(140,1);
MakeZako9(60,1);
MakeZako9(100,1);
MakeZako9(220,1);
MakeZako9(180,1);
MakeZako9(260,1);
MakeZako9(380,1);
MakeZako9(300,1);
MakeZako9(340,1);
Wait(180);
MakeZako11a(cy-80,1);
MakeZako11b(cy-80,1);
Wait(200);
MakeZako12(cx-80,1);
Wait(60);
MakeZako12(cx-40,1);
Wait(60);
MakeZako12(cx,1);
Wait(60);
MakeZako12(cx+40,1);
Wait(60);
MakeZako12(cx+80,1);
Wait(120);
MakeZako12(cx+120,1);
Wait(60);
MakeZako12(cx-60,1);
Wait(60);
MakeZako12(cx,1);
Wait(60);
MakeZako12(cx+60,1);
Wait(60);
MakeZako12(cx-120,1);
Wait(360);
MakeZako15(cx,1);
Wait(500);

MakeBoss(GCSD~"\Stage\Boss\AliceBN.txt");
WaitForZeroEnemy();
Wait(120);
}

function HardStage2{
SetCommonData("STAGE",2);
Wait(150);
loop(5){
MakeZako6a(70,2);
MakeZako6b(70,2);
Wait(12);
}
Wait(90);

loop(5){
MakeZako8a(cy-120,2);
Wait(48);
MakeZako8b(cy-120,2);
Wait(48)}

MakeZako12(cx-80,2);
Wait(70);
MakeZako12(cx-40,2);
Wait(70);
MakeZako12(cx,2);
Wait(70);
MakeZako12(cx+40,2);
Wait(70);
MakeZako12(cx+80,2);
Wait(70);

Wait(60);
MakeZako9(140,2);
MakeZako9(60,2);
MakeZako9(100,2);
MakeZako9(220,2);
MakeZako9(180,2);
MakeZako9(260,2);
MakeZako9(380,2);
MakeZako9(300,2);
MakeZako9(340,2);
Wait(180);

MakeZako3(cx,0,3);
Wait(320);
let a = 80;
loop(3){
MakeZako10(cx-a,2);
MakeZako10(cx+a,2);
MakeZako3(cx,0,2);
Wait(220);
a += 20;
}
Wait(300);
MakeZako14(cx,2);
Wait(500);

MakeBoss(GCSD~"\Stage\Boss\AliceAH.txt");
WaitForZeroEnemy();
Wait(180);
MakeZako11a(cy-120,2);
MakeZako8b(cy-120,2);
Wait(300);
MakeZako11b(cy-120,2);
MakeZako8a(cy-120,2);
Wait(300);
MakeZako12(cx+80,2);
Wait(110);
MakeZako12(cx-80,2);
Wait(110);
MakeZako13(cx,2);
Wait(180);
MakeZako9(140,2);
MakeZako9(60,2);
MakeZako9(100,2);
MakeZako9(220,2);
MakeZako9(180,2);
MakeZako9(260,2);
MakeZako9(380,2);
MakeZako9(300,2);
MakeZako9(340,2);
Wait(180);
loop(2){
MakeZako11a(cy-80,2);
MakeZako11b(cy-80,2);
Wait(200);
}
MakeZako12(cx-80,2);
Wait(60);
MakeZako12(cx-40,2);
Wait(60);
MakeZako12(cx,2);
Wait(60);
MakeZako12(cx+40,2);
Wait(60);
MakeZako12(cx+80,2);
Wait(120);
MakeZako12(cx+120,2);
Wait(60);
MakeZako12(cx-60,2);
Wait(60);
MakeZako12(cx,2);
Wait(60);
MakeZako12(cx+60,2);
Wait(60);
MakeZako12(cx-120,2);
Wait(360);
MakeZako15(cx,2);
Wait(500);
MakeBoss(GCSD~"\Stage\Boss\AliceBH.txt");
WaitForZeroEnemy();
Wait(120);
}

function LunaticStage2{
SetCommonData("STAGE",2);
Wait(150);
loop(5){
MakeZako6a(70,3);
MakeZako6b(70,3);
Wait(12);
}
Wait(90);

loop(5){
MakeZako8a(cy-120,3);
Wait(48);
MakeZako8b(cy-120,3);
Wait(48)}

MakeZako12(cx-80,3);
Wait(70);
MakeZako12(cx-40,3);
Wait(70);
MakeZako12(cx,3);
Wait(70);
MakeZako12(cx+40,3);
Wait(70);
MakeZako12(cx+80,3);
Wait(70);

Wait(60);
MakeZako9(140,3);
MakeZako9(60,3);
MakeZako9(100,3);
MakeZako9(220,3);
MakeZako9(180,3);
MakeZako9(260,3);
MakeZako9(380,3);
MakeZako9(300,3);
MakeZako9(340,3);
Wait(180);

MakeZako3(cx-120,0,3);
MakeZako3(cx+120,0,3);
Wait(320);
let a = 80;
loop(3){
MakeZako10(cx-a,3);
MakeZako10(cx+a,3);
MakeZako3(cx,0,3);
Wait(220);
a += 20;
}
Wait(300);
MakeZako14(cx,3);
Wait(500);

MakeBoss(GCSD~"\Stage\Boss\AliceAL.txt");
WaitForZeroEnemy();
Wait(180);
MakeZako11a(cy-120,3);
MakeZako8b(cy-120,3);
Wait(300);
MakeZako11b(cy-120,3);
MakeZako8a(cy-120,3);
Wait(300);
MakeZako12(cx+80,3);
Wait(110);
MakeZako12(cx-80,3);
Wait(110);
MakeZako13(cx,3);
Wait(180);
MakeZako9(140,3);
MakeZako9(60,3);
MakeZako9(100,3);
MakeZako9(220,3);
MakeZako9(180,3);
MakeZako9(260,3);
MakeZako9(380,3);
MakeZako9(300,3);
MakeZako9(340,3);
Wait(180);
loop(3){
MakeZako11a(cy-80,3);
MakeZako11b(cy-80,3);
Wait(40);
}
Wait(250);
MakeZako12(cx-80,3);
Wait(60);
MakeZako12(cx-40,3);
Wait(60);
MakeZako12(cx,3);
Wait(60);
MakeZako12(cx+40,3);
Wait(60);
MakeZako12(cx+80,3);
Wait(120);
MakeZako12(cx+120,3);
Wait(60);
MakeZako12(cx-60,3);
Wait(60);
MakeZako12(cx,3);
Wait(60);
MakeZako12(cx+60,3);
Wait(60);
MakeZako12(cx-120,3);
Wait(360);
MakeZako15(cx,3);
Wait(500);

MakeBoss(GCSD~"\Stage\Boss\AliceBL.txt");
WaitForZeroEnemy();
Wait(120);
}

function EasyStage3{
SetCommonData("STAGE",3);
Wait(210);
loop(5){
MakeZako6a(my+32,0);
MakeZako6b(my+32,0);
Wait(12);
}
Wait(120);
loop(2){
MakeZako1(mx+100,0,0);
Wait(40);
MakeZako1(Mx-100,0,0);
Wait(40);
MakeZako1(mx+64,0,0);
Wait(40);
MakeZako1(Mx-64,0,0);
Wait(40);
MakeZako1(mx+16,0,0);
Wait(40);
MakeZako1(Mx-16,0,0);
Wait(40);
MakeZako1(mx+64,0,0);
Wait(40);
MakeZako1(Mx-64,0,0);
Wait(40);
}
Wait(80);
MakeZako2(cx-120,0,0);
MakeZako2(cx-40,0,0);
MakeZako2(cx+40,0,0);
MakeZako2(cx+120,0,0);
loop(7){
MakeZako11a(my+80,0);
Wait(30);
}
Wait(90);
MakeZako2(cx+120,0,0);
MakeZako2(cx+40,0,0);
MakeZako2(cx-40,0,0);
MakeZako2(cx-120,0,0);
loop(7){
MakeZako11b(my+80,0);
Wait(30);
}
Wait(90);
MakeZako3(cx,0,0);
Wait(60);
loop(12){
MakeZako17a(0,0);
Wait(12);
}
Wait(120);
MakeZako3(cx,0,0);
Wait(60);
loop(12){
MakeZako17b(0,0);
Wait(12);
}
Wait(240);
MakeZako16(0);

WaitForZeroEnemy();
Wait(60);

MakeBoss(GCSD~"\Stage\Boss\meirinE.txt");

WaitForZeroEnemy();
Wait(120);

MakeZako19(cx-50,0);
MakeZako19(cx+50,0);
Wait(150);

MakeZako19(cx-100,0);
MakeZako19(cx+100,0);
Wait(150);

MakeZako19(cx-150,0);
MakeZako19(cx+150,0);
Wait(240);

let wait = 80;
loop(3){
MakeZako21(mx+18,0);
Wait(wait);
MakeZako21(Mx-18,0);
Wait(wait);
MakeZako21(mx+43,0);
Wait(wait);
MakeZako21(Mx-43,0);
Wait(wait);
MakeZako21(mx+31,0);
Wait(wait);
MakeZako21(Mx-31,0);
Wait(wait);
wait -= 10;
}

Wait(120);

loop(15){
MakeZako18(mx+16,0);
Wait(12);
}
Wait(150);

loop(15){
MakeZako18(Mx-16,0);
Wait(12);
}
Wait(150);

MakeZako19(cx-150,0);
MakeZako19(cx+150,0);
loop(10){
MakeZako17a(0,0);
Wait(15);
}

MakeZako19(cx-50,0);
MakeZako19(cx+50,0);
loop(10){
MakeZako17b(0,0);
Wait(15);
}

MakeZako19(cx-150,0);
MakeZako19(cx+150,0);
Wait(240);

MakeZako20(cx,0);

WaitForZeroEnemy();
Wait(150);

MakeBoss(GCSD~"\Stage\Boss\SakuyaVE.txt");

WaitForZeroEnemy();
Wait(120);
}

function NormalStage3{
SetCommonData("STAGE",3);
Wait(210);
loop(5){
MakeZako6a(my+32,1);
MakeZako6b(my+32,1);
Wait(12);
}
Wait(120);
loop(2){
MakeZako1(mx+100,0,1);
Wait(40);
MakeZako1(Mx-100,0,1);
Wait(40);
MakeZako1(mx+64,0,1);
Wait(40);
MakeZako1(Mx-64,0,1);
Wait(40);
MakeZako1(mx+16,0,1);
Wait(40);
MakeZako1(Mx-16,0,1);
Wait(40);
MakeZako1(mx+64,0,1);
Wait(40);
MakeZako1(Mx-64,0,1);
Wait(40);
}
Wait(80);
MakeZako2(cx-120,0,1);
MakeZako2(cx-40,0,1);
MakeZako2(cx+40,0,1);
MakeZako2(cx+120,0,1);
loop(7){
MakeZako11a(my+80,1);
Wait(30);
}
Wait(90);
MakeZako2(cx+120,0,1);
MakeZako2(cx+40,0,1);
MakeZako2(cx-40,0,1);
MakeZako2(cx-120,0,1);
loop(7){
MakeZako11b(my+80,1);
Wait(30);
}
Wait(90);
MakeZako3(cx,0,1);
Wait(60);
loop(12){
MakeZako17a(0,1);
Wait(12);
}
Wait(120);
MakeZako3(cx,0,1);
Wait(60);
loop(12){
MakeZako17b(0,1);
Wait(12);
}
Wait(240);
MakeZako16(1);
WaitForZeroEnemy();
Wait(60);

MakeBoss(GCSD~"\Stage\Boss\meirinN.txt");

WaitForZeroEnemy();
Wait(120);

MakeZako19(cx-50,1);
MakeZako19(cx+50,1);
Wait(150);

MakeZako19(cx-100,1);
MakeZako19(cx+100,1);
Wait(150);

MakeZako19(cx-150,1);
MakeZako19(cx+150,1);
Wait(240);

let wait = 80;
loop(3){
MakeZako21(mx+18,1);
Wait(wait);
MakeZako21(Mx-18,1);
Wait(wait);
MakeZako21(mx+43,1);
Wait(wait);
MakeZako21(Mx-43,1);
Wait(wait);
MakeZako21(mx+31,1);
Wait(wait);
MakeZako21(Mx-31,1);
Wait(wait);
wait -= 10;
}

Wait(120);

loop(15){
MakeZako18(mx+16,1);
Wait(12);
}
Wait(150);

loop(15){
MakeZako18(Mx-16,1);
Wait(12);
}
Wait(150);

MakeZako19(cx-150,1);
MakeZako19(cx+150,1);
loop(10){
MakeZako17a(0,1);
Wait(15);
}

MakeZako19(cx-50,1);
MakeZako19(cx+50,1);
loop(10){
MakeZako17b(0,1);
Wait(15);
}

MakeZako19(cx-150,1);
MakeZako19(cx+150,1);
Wait(240);

MakeZako20(cx,1);

WaitForZeroEnemy();
Wait(150);

MakeBoss(GCSD~"\Stage\Boss\SakuyaVN.txt");

WaitForZeroEnemy();
Wait(120);
}

function HardStage3{
SetCommonData("STAGE",3);
Wait(210);
loop(5){
MakeZako6a(my+32,2);
MakeZako6b(my+32,2);
Wait(12);
}
Wait(120);
loop(2){
MakeZako1(mx+100,0,2);
Wait(40);
MakeZako1(Mx-100,0,2);
Wait(40);
MakeZako1(mx+64,0,2);
Wait(40);
MakeZako1(Mx-64,0,2);
Wait(40);
MakeZako1(mx+16,0,2);
Wait(40);
MakeZako1(Mx-16,0,2);
Wait(40);
MakeZako1(mx+64,0,2);
Wait(40);
MakeZako1(Mx-64,0,2);
Wait(40);
}
Wait(80);
MakeZako2(cx-120,0,2);
MakeZako2(cx-40,0,2);
MakeZako2(cx+40,0,2);
MakeZako2(cx+120,0,2);
loop(7){
MakeZako11a(my+80,2);
Wait(30);
}
Wait(90);
MakeZako2(cx+120,0,2);
MakeZako2(cx+40,0,2);
MakeZako2(cx-40,0,2);
MakeZako2(cx-120,0,2);
loop(7){
MakeZako11b(my+80,2);
Wait(30);
}
MakeZako3(cx,0,2);
Wait(60);
loop(12){
MakeZako17a(0,2);
Wait(12);
}
Wait(120);
MakeZako3(cx,0,2);
Wait(60);
loop(12){
MakeZako17b(0,2);
Wait(12);
}
Wait(240);
MakeZako16(2);

WaitForZeroEnemy();
Wait(60);

MakeBoss(GCSD~"\Stage\Boss\meirinH.txt");

WaitForZeroEnemy();
Wait(120);

MakeZako19(cx-50,2);
MakeZako19(cx+50,2);
Wait(150);

MakeZako19(cx-100,2);
MakeZako19(cx+100,2);
Wait(150);

MakeZako19(cx-150,2);
MakeZako19(cx+150,2);
Wait(240);

let wait = 80;
loop(3){
MakeZako21(mx+18,2);
Wait(wait);
MakeZako21(Mx-18,2);
Wait(wait);
MakeZako21(mx+43,2);
Wait(wait);
MakeZako21(Mx-43,2);
Wait(wait);
MakeZako21(mx+31,2);
Wait(wait);
MakeZako21(Mx-31,2);
Wait(wait);
wait -= 10;
}

Wait(120);

loop(15){
MakeZako18(mx+16,2);
Wait(12);
}
Wait(150);

loop(15){
MakeZako18(Mx-16,2);
Wait(12);
}
Wait(150);

MakeZako19(cx-150,2);
MakeZako19(cx+150,2);
loop(10){
MakeZako17a(0,2);
Wait(15);
}

MakeZako19(cx-50,2);
MakeZako19(cx+50,2);
loop(10){
MakeZako17b(0,2);
Wait(15);
}

MakeZako19(cx-150,2);
MakeZako19(cx+150,2);
Wait(240);

MakeZako20(cx,2);

WaitForZeroEnemy();
Wait(150);

MakeBoss(GCSD~"\Stage\Boss\SakuyaVH.txt");

WaitForZeroEnemy();
Wait(120);
}

function LunaticStage3{
SetCommonData("STAGE",3);
Wait(210);
loop(5){
MakeZako6a(my+32,3);
MakeZako6b(my+32,3);
Wait(12);
}
Wait(120);
loop(2){
MakeZako1(mx+100,0,3);
Wait(40);
MakeZako1(Mx-100,0,3);
Wait(40);
MakeZako1(mx+64,0,3);
Wait(40);
MakeZako1(Mx-64,0,3);
Wait(40);
MakeZako1(mx+16,0,3);
Wait(40);
MakeZako1(Mx-16,0,3);
Wait(40);
MakeZako1(mx+64,0,3);
Wait(40);
MakeZako1(Mx-64,0,3);
Wait(40);
}
Wait(40);
MakeZako2(cx-120,0,3);
MakeZako2(cx-40,0,3);
MakeZako2(cx+40,0,3);
MakeZako2(cx+120,0,3);
loop(7){
MakeZako11a(my+80,3);
Wait(30);
}
Wait(90);
MakeZako2(cx+120,0,3);
MakeZako2(cx+40,0,3);
MakeZako2(cx-40,0,3);
MakeZako2(cx-120,0,3);
loop(7){
MakeZako11b(my+80,3);
Wait(30);
}
Wait(90);
MakeZako3(cx,0,3);
Wait(60);
loop(12){
MakeZako17a(0,3);
Wait(12);
}
Wait(120);
MakeZako3(cx,0,3);
Wait(60);
loop(12){
MakeZako17b(0,3);
Wait(12);
}
Wait(240);
MakeZako16(3);

WaitForZeroEnemy();
Wait(60);

MakeBoss(GCSD~"\Stage\Boss\meirinL.txt");

WaitForZeroEnemy();
Wait(120);

MakeZako19(cx-50,3);
MakeZako19(cx+50,3);
Wait(150);

MakeZako19(cx-100,3);
MakeZako19(cx+100,3);
Wait(150);

MakeZako19(cx-150,3);
MakeZako19(cx+150,3);
Wait(240);

let wait = 80;
loop(3){
MakeZako21(mx+18,3);
Wait(wait);
MakeZako21(Mx-18,3);
Wait(wait);
MakeZako21(mx+43,3);
Wait(wait);
MakeZako21(Mx-43,3);
Wait(wait);
MakeZako21(mx+31,3);
Wait(wait);
MakeZako21(Mx-31,3);
Wait(wait);
wait -= 10;
}

Wait(120);

loop(15){
MakeZako18(mx+16,3);
Wait(12);
}
Wait(150);

loop(15){
MakeZako18(Mx-16,3);
Wait(12);
}
Wait(150);

MakeZako19(cx-150,3);
MakeZako19(cx+150,3);
loop(10){
MakeZako17a(0,3);
Wait(15);
}

MakeZako19(cx-50,3);
MakeZako19(cx+50,3);
loop(10){
MakeZako17b(0,3);
Wait(15);
}

MakeZako19(cx-150,3);
MakeZako19(cx+150,3);
Wait(240);

MakeZako20(cx,3);

WaitForZeroEnemy();
Wait(150);

MakeBoss(GCSD~"\Stage\Boss\SakuyaVL.txt");

WaitForZeroEnemy();
Wait(120);
}