Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #TouhouDanmakufu[Single]
- #ScriptVersion[3]
- #Title["Reimu (Spell 2.5)"]
- #Text["Number 1 Rule of Gensokyo: [r]NEVER steal [r]The Shrine Maiden's [r]donations."]
- #Player["./system/player/Marisa by plasmaflame22/Marisa_B.txt"]
- #Background["./system/background/back_reimu.dnh"]
- #System["./system/system/Awalys_System.txt"]
- #include"./system/shot/Shot/ZUNShot_Const.txt"
- #include"./system/lib/lib_main.dnh"
- #include"./system/lib/ReimuAnim.dnh"
- #include"./system/lib/shot_lib.dnh"
- let frame = 0;
- let count = 0;
- let count2 = 0;
- let start = false;
- let angleInc1 = 0;
- let angleInc2 = 0;
- let pos1 = 0;
- let pos2 = 0;
- let pos3 = 0;
- let pos4 = 0;
- let pos5 = 0;
- let pos6 = 0;
- @Event{
- alternative(GetEventType())
- case(EV_REQUEST_LIFE){
- SetScriptResult(6800/4);
- }
- case(EV_REQUEST_TIMER){
- SetScriptResult(4800);
- }
- case(EV_REQUEST_SPELL_SCORE){
- SetScriptResult(240000000);
- }
- case(EV_REQUEST_IS_DURABLE_SPELL){
- SetScriptResult(false);
- }
- case(EV_TIMEOUT){
- SetScriptResult(82);
- }
- }
- @Initialize{
- objBoss = ObjEnemy_Create(OBJ_ENEMY_BOSS);
- ObjEnemy_Regist(objBoss);
- ObjMove_SetDestAtWeight(objBoss, cx, 140, 15,6);
- BossRender;
- TFinalizeSpell;
- MagicCircle;
- Orbs;
- }
- @MainLoop{
- let ex = ObjMove_GetX(objBoss);
- let ey = ObjMove_GetY(objBoss);
- ObjEnemy_SetIntersectionCircleToShot(objBoss, ex, ey, 32);
- ObjEnemy_SetIntersectionCircleToPlayer(objBoss, ex, ey, 24);
- ObjEnemy_SetDamageRate(objBoss,1,1);
- Start;
- if(start){
- count++;
- count2++;
- angleInc1-=1;
- angleInc2+=2;
- Pattern;
- ObjEnemy_SetDamageRate(objBoss,25,25);
- }
- frame++;
- yield;
- }
- task Start{
- if(frame == 60){
- Spell("Treasure Sign \"Precious Yin-Yang Orbs\"");
- ObjEnemyBossScene_StartSpell(objScene);
- Attack=true;
- Cutin;
- wait(60);
- nTestCharge(ObjMove_GetX(objBoss),ObjMove_GetY(objBoss),90,255,100,100);
- PlaySE(ChargeSE);
- start=true;
- Attack=false;
- }
- }
- task Pattern{
- if(count == 60){
- if(pos1 == 0){
- wait(90);
- CreateOrbsS(rand_int(1,6), pos1):
- PlaySE(FamiliarSE);
- }
- if(pos2 == 0){
- wait(90);
- CreateOrbsS(rand_int(1,6), pos2):
- PlaySE(FamiliarSE);
- }
- if(pos3 == 0){
- wait(90);
- CreateOrbsS(rand_int(1,6), pos3):
- PlaySE(FamiliarSE);
- }
- if(pos4 == 0){
- wait(90);
- CreateOrbsS(rand_int(1,6), pos4):
- PlaySE(FamiliarSE);
- }
- if(pos5 == 0){
- wait(90);
- CreateOrbsS(rand_int(1,6), pos5):
- PlaySE(FamiliarSE);
- }
- if(pos6 == 0){
- wait(90);
- CreateOrbsS(rand_int(1,6), pos6):
- PlaySE(FamiliarSE);
- }
- }
- }
- task CreateOrbsS(type,pos){
- let posX;
- let posY;
- if(pos == pos1){
- posX = ObjMove_GetX(objBoss)+120*cos(angleInc1);
- posY = ObjMove_GetY(objBoss)+40*sin(angleInc1);
- pos1+=1;
- }
- else if(pos == pos2){
- posX = ObjMove_GetX(objBoss)+120*cos(angleInc1+60);
- posY = ObjMove_GetY(objBoss)+40*sin(angleInc1+60);
- pos2+=1;
- }
- else if(pos == pos3){
- posX = ObjMove_GetX(objBoss)+120*cos(angleInc1+120);
- posY = ObjMove_GetY(objBoss)+40*sin(angleInc1+120);
- pos3+=1;
- }
- else if(pos == pos4){
- posX = ObjMove_GetX(objBoss)+120*cos(angleInc1+180);
- posY = ObjMove_GetY(objBoss)+40*sin(angleInc1+180);
- pos4+=1;
- }
- else if(pos == pos5){
- posX = ObjMove_GetX(objBoss)+120*cos(angleInc1+240);
- posY = ObjMove_GetY(objBoss)+40*sin(angleInc1+240);
- pos5+=1;
- }
- else if(pos == pos6){
- posX = ObjMove_GetX(objBoss)+120*cos(angleInc1+300);
- posY = ObjMove_GetY(objBoss)+40*sin(angleInc1+300);
- pos6+=1;
- }
- if(type == 1){
- let yinyang = CreateYinYangS1(posX, posY, 1750, 1, 1, 255);
- BulletCommandsA1(yinyang);
- MoveCommandsA1(yinyang);
- DeleteCommands(yinyang, pos);
- }
- else if(type == 2){
- let yinyang = CreateYinYangS1(posX, posY, 1750, 1, 2, 255);
- BulletCommandsA2(yinyang);
- MoveCommandsA2(yinyang);
- DeleteCommands(yinyang, pos);
- }
- else if(type == 3){
- let yinyang = CreateYinYangS1(posX, posY, 1750, 1, 3, 255);
- BulletCommandsC1(yinyang);
- MoveCommandsA3(yinyang);
- }
- else if(type == 4){
- let yinyang = CreateYinYangS1(posX, posY, 1750, 1, 4, 255);
- BulletCommandsC2(yinyang);
- MoveCommandsA4(yinyang);
- DeleteCommands(yinyang, pos);
- }
- else if(type == 5){
- let yinyang = CreateYinYangS1(posX, posY, 1750, 1, 5, 255);
- BulletCommandsD1(yinyang);
- MoveCommandsA5(yinyang);
- DeleteCommands(yinyang, pos);
- }
- else if(type == 6){
- let yinyang = CreateYinYangS1(posX, posY, 1750, 1, 6, 255);
- BulletCommandsD2(yinyang);
- MoveCommandsA6(yinyang);
- DeleteCommands(yinyang, pos);
- }
- }
- task CreateOrbsM(type, angle, accel){
- if(type == 1){
- let yinyang = CreateYinYangM2(ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), 0.01, GetAngleToPlayer(objBoss), 0.03, 3.5, 2000, 2.5, 1);
- BulletCommandsB1(yinyang);
- }
- }
- task MoveCommandsA1(obj){
- while(!Obj_IsDeleted(obj)){
- ObjMove_SetPosition(obj,ObjMove_GetX(objBoss)+120*cos(angleInc1),ObjMove_GetY(objBoss)+40*sin(angleInc1));
- yield;
- }
- }
- task MoveCommandsA2(obj){
- while(!Obj_IsDeleted(obj)){
- ObjMove_SetPosition(obj,ObjMove_GetX(objBoss)+120*cos(angleInc2+60),ObjMove_GetY(objBoss)+40*sin(angleInc2+60));
- yield;
- }
- }
- task MoveCommandsA3(obj){
- while(!Obj_IsDeleted(obj)){
- ObjMove_SetPosition(obj,ObjMove_GetX(objBoss)+120*cos(angleInc1+120),ObjMove_GetY(objBoss)+40*sin(angleInc1+120));
- yield;
- }
- }
- task MoveCommandsA4(obj){
- while(!Obj_IsDeleted(obj)){
- ObjMove_SetPosition(obj,ObjMove_GetX(objBoss)+120*cos(angleInc2+180),ObjMove_GetY(objBoss)+40*sin(angleInc2+180));
- yield;
- }
- }
- task MoveCommandsA5(obj){
- while(!Obj_IsDeleted(obj)){
- ObjMove_SetPosition(obj,ObjMove_GetX(objBoss)+120*cos(angleInc1+240),ObjMove_GetY(objBoss)+40*sin(angleInc1+240));
- yield;
- }
- }
- task MoveCommandsA6(obj){
- while(!Obj_IsDeleted(obj)){
- ObjMove_SetPosition(obj,ObjMove_GetX(objBoss)+120*cos(angleInc2+300),ObjMove_GetY(objBoss)+40*sin(angleInc2+300));
- yield;
- }
- }
- task BulletCommandsA1(obj){
- wait(90);
- while(!Obj_IsDeleted(obj)){
- loop(16){
- let shot1 = CreateShotA1(ObjMove_GetX(obj)+12*cos(angleInc1),ObjMove_GetY(obj)+12*sin(angleInc1),3,angleInc1,A_AMULET_RED,10);
- let shot2 = CreateShotA1(ObjMove_GetX(obj)+12*cos(angleInc1),ObjMove_GetY(obj)+12*sin(angleInc1),3,angleInc1,A_AMULET_RED,10);
- ObjMove_SetAngularVelocity(shot1, 0.5);
- ObjMove_SetAngularVelocity(shot2, -0.5);
- PlaySE(ShotSE1);
- angleInc1 += 360/16;
- }
- wait(120);
- }
- }
- task BulletCommandsA2(obj){
- wait(90);
- while(!Obj_IsDeleted(obj)){
- loop(16){
- let shot1 = CreateShotA1(ObjMove_GetX(obj)+12*cos(angleInc2),ObjMove_GetY(obj)+12*sin(angleInc2),3,angleInc2,A_AMULET_GRAY,10);
- let shot2 = CreateShotA1(ObjMove_GetX(obj)+12*cos(angleInc2),ObjMove_GetY(obj)+12*sin(angleInc2),3,angleInc2,A_AMULET_GRAY,10);
- ObjMove_SetAngularVelocity(shot1, -0.5);
- ObjMove_SetAngularVelocity(shot2, 0.5);
- PlaySE(ShotSE1);
- angleInc2 += 360/16;
- }
- wait(120);
- }
- }
- task BulletCommandsC1(obj){
- wait(90);
- while(!Obj_IsDeleted(obj)){
- loop(8){
- CreateShotA1(ObjMove_GetX(obj)+12*cos(angleInc1),ObjMove_GetY(obj)+12*sin(angleInc1),3,angleInc1,BL_SMALL_RED,10);
- PlaySE(ShotSE1);
- angleInc1 += 360/8;
- }
- wait(60);
- }
- }
- task BulletCommandsC2(obj){
- wait(90);
- while(!Obj_IsDeleted(obj)){
- loop(8){
- CreateShotA1(ObjMove_GetX(obj)+12*cos(angleInc2),ObjMove_GetY(obj)+12*sin(angleInc2),3,angleInc2,BL_SMALL_GRAY,10);
- PlaySE(ShotSE1);
- angleInc2 += 360/8;
- }
- wait(60);
- }
- }
- task BulletCommandsD1(obj){
- wait(90);
- while(!Obj_IsDeleted(obj)){
- let angleT = GetAngleToPlayer(obj);
- CreateShotA1(ObjMove_GetX(obj)+12*cos(angleT),ObjMove_GetY(obj)+12*sin(angleT),3,angleT,LARGE_RED,10);
- CreateShotA1(ObjMove_GetX(obj)+12*cos(angleT),ObjMove_GetY(obj)+12*sin(angleT),3,angleT+10,LARGE_RED,10);
- CreateShotA1(ObjMove_GetX(obj)+12*cos(angleT),ObjMove_GetY(obj)+12*sin(angleT),3,angleT-10,LARGE_RED,10);
- PlaySE(ShotSE1);
- wait(60);
- }
- }
- task BulletCommandsD2(obj){
- wait(90);
- while(!Obj_IsDeleted(obj)){
- let angleT = GetAngleToPlayer(obj);
- CreateShotA1(ObjMove_GetX(obj)+12*cos(angleInc2),ObjMove_GetY(obj)+12*sin(angleInc2),3,angleInc2,LARGE_GRAY,10);
- CreateShotA1(ObjMove_GetX(obj)+12*cos(angleT),ObjMove_GetY(obj)+12*sin(angleT),3,angleT+10,LARGE_GRAY,10);
- CreateShotA1(ObjMove_GetX(obj)+12*cos(angleT),ObjMove_GetY(obj)+12*sin(angleT),3,angleT-10,LARGE_GRAY,10);
- PlaySE(ShotSE1);
- wait(60);
- }
- }
- task BulletCommandsB1(obj){
- while(!Obj_IsDeleted(obj)){
- let angleT = rand(0,360);
- loop(12){
- CreateShotA2(ObjMove_GetX(obj)+30*cos(angleT),ObjMove_GetY(obj)+30*sin(angleT),0.5,angleT,0.03,3,A_LARGE_RED,15);
- angleT += 360/12;
- }
- if(Obj_IsDeleted(obj)){
- orbcount=orbcount-1;
- }
- wait(20);
- }
- }
- task DeleteCommands(obj, type){
- loop{
- if(Obj_IsDeleted(obj)){
- type-=1;
- }
- yield;
- }
- }
- task Movement{
- ObjMove_SetDestAtWeight(objBoss, rand(80, 320), rand(120, 150), 15,6);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement