Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #TouhouDanmakufu[Stage]
- #Title[Stage 1]
- #Text[Stage 1 Mid-Boss]
- #Player[REIMU]
- #PlayLevel[Normal]
- #ScriptVersion[2]
- script_stage_main{
- let D = GetCurrentScriptDirectory;
- let bgm = D ~ "bgm\BGM 2.wav";
- let stage1 = D ~ "system\stage1.png";
- let ext = D ~ "sfx\Extend.wav";
- function Wait(let frames){loop(frames){yield;}}
- function WaitForZeroEnemy{while(GetEnemyNum != 0){yield;}}
- task effectobj{
- Wait(30);
- let obj=Obj_Create(OBJ_EFFECT);
- let counter = 0;
- ObjEffect_SetRenderState(obj, ALPHA);
- ObjEffect_SetTexture(obj, stage1);
- Obj_SetPosition(obj, GetCenterX, GetCenterY-60);
- ObjEffect_SetScale(obj, 2, 2);
- ObjEffect_SetLayer(obj, 5);
- ObjEffect_SetPrimitiveType(obj, PRIMITIVE_TRIANGLESTRIP);
- ObjEffect_CreateVertex(obj, 4);
- ObjEffect_SetVertexXY(obj, 0, -45, -44);
- ObjEffect_SetVertexXY(obj, 1, 45, -44);
- ObjEffect_SetVertexXY(obj, 2, -45, 44);
- ObjEffect_SetVertexXY(obj, 3, 45, 44);
- ObjEffect_SetVertexUV(obj, 0, 0, 0);
- ObjEffect_SetVertexUV(obj, 1, 90, 0);
- ObjEffect_SetVertexUV(obj, 2, 0, 88);
- ObjEffect_SetVertexUV(obj, 3, 90, 88);
- while(!Obj_BeDeleted(obj)) {
- if(counter==120){Obj_Delete(obj);}
- counter++;
- yield;
- }
- }
- task extendstate{
- let extendlist = [50, 100, 250, 500, 800, 1100, 1500, 2000];
- let index = 0;
- while(index<8){
- if(GetPoint > extendlist[index]){
- ExtendPlayer(1);
- PlaySE(ext);
- index++;
- }
- yield;
- }
- }
- task stage{
- PlayMusic(bgm);
- Wait(180);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX-120, GetCenterY-240, 1.6, 90, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX+120, GetCenterY-240, 1.6, 90, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX+200, GetCenterY-100, 2, 180, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX-200, GetCenterY-100, 2, 90, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX-190, GetCenterY-240, 2, 45, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX+190, GetCenterY-240, 2, 135, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX+200, GetCenterY-100, 1.6, 270, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX+120, GetCenterY-240, 1.6, 0, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX+120, GetCenterY-240, 2, 310, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX-200, GetCenterY-100, 2, 210, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX-190, GetCenterY-240, 2, 79, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A2.txt", GetCenterX+190, GetCenterY-240, 2, 35, 0);
- Wait(180);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX+200, GetCenterY-100, 2, 180, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX-200, GetCenterY-100, 2, 0, 0);
- Wait(90);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX-120, GetCenterY-240, 2, 180, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX+120, GetCenterY-240, 2, 0, 0);
- Wait(90);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX-120, GetCenterY-240, 2, 180, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX+120, GetCenterY-240, 2, 0, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX+100, GetCenterY-100, 2, 90, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX-100, GetCenterY-100, 2, 270, 0);
- Wait(90);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A4.txt", GetCenterX-220, GetCenterY-92, 1.6, 0, 0);
- Wait(35);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A4.txt", GetCenterX-220, GetCenterY-92, 1.6, 0, 0);
- Wait(35);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A4.txt", GetCenterX-220, GetCenterY-92, 1.6, 0, 0);
- Wait(35);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A4.txt", GetCenterX-220, GetCenterY-92, 1.6, 0, 0);
- Wait(35);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A4.txt", GetCenterX-220, GetCenterY-92, 1.6, 0, 0);
- Wait(35);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX+120, GetCenterY-240, 2, 310, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX-200, GetCenterY-100, 2, 210, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX-190, GetCenterY-240, 2, 79, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A3.txt", GetCenterX+190, GetCenterY-240, 2, 35, 0);
- Wait(270);
- CreateEnemyBossFromFile(GetCurrentScriptDirectory~"Stage 1 Mid-Boss Non-Spell 1.txt", 0, 0, 0, 0, 0);
- WaitForZeroEnemy;
- Wait(180);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A5.txt", GetCenterX-120, GetCenterY-240, 2, 90, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A6.txt", GetCenterX-200, GetCenterY-100, 2, 0, 0);
- Wait(160);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A5.txt", GetCenterX-120, GetCenterY-240, 2, 90, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A7.txt", GetCenterX-200, GetCenterY-100, 2, 0, 0);
- Wait(160);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A5.txt", GetCenterX-120, GetCenterY-240, 2, 90, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A8.txt", GetCenterX-200, GetCenterY-100, 2, 0, 0);
- Wait(160);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A5.txt", GetCenterX-120, GetCenterY-240, 2, 90, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A6.txt", GetCenterX-200, GetCenterY-100, 2, 0, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A7.txt", GetCenterX-200, GetCenterY-100, 2, 0, 0);
- Wait(200);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A9.txt", GetCenterX+200, GetCenterY-100, 2, 180, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A9.txt", GetCenterX-200, GetCenterY-100, 2, 0, 0);
- Wait(330);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A9.txt", GetCenterX+200, GetCenterY-100, 2, 180, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A9.txt", GetCenterX-200, GetCenterY-100, 2, 0, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A5.txt", GetCenterX-120, GetCenterY-240, 2, 90, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A6.txt", GetCenterX-200, GetCenterY-100, 2, 0, 0);
- Wait(330);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A.txt", GetCenterX+200, GetCenterY-100, 2, 180, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A.txt", GetCenterX-200, GetCenterY-100, 2, 90, 0);
- Wait(90);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A.txt", GetCenterX-120, GetCenterY-240, 1.6, 90, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A.txt", GetCenterX+120, GetCenterY-240, 1.6, 90, 0);
- Wait(90);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A.txt", GetCenterX-120, GetCenterY-240, 1.6, 90, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A.txt", GetCenterX+120, GetCenterY-240, 1.6, 90, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A.txt", GetCenterX+200, GetCenterY-100, 2, 180, 0);
- CreateEnemyFromFile(GetCurrentScriptDirectory~"enemy A.txt", GetCenterX-200, GetCenterY-100, 2, 90, 0);
- Wait(60);
- CollectItems;
- Wait(420);
- Clear;
- }
- @Initialize{
- LoadMusic(bgm);
- LoadGraphic(stage1);
- LoadSE(ext);
- SetNormPoint(50);
- effectobj;
- extendstate;
- stage;
- }
- @MainLoop{yield;}
- @Background{}
- @Finalize{
- DeleteGraphic(stage1);
- DeleteMusic(bgm);
- DeleteSE(ext);
- }}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement