Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- task Linear_GyroBossAll
- {
- let fr = rand(80, 140);
- loop
- {
- RING_1(); //1
- wait(32 * 7 + 60);
- RING_2(); //2
- wait(32 * 13);
- RING_3(); //3
- wait(32 * 13);
- Explody_RandBulletA1(); //4
- wait(16 * 50 + 60);
- Explody_RandBulletA2(); //5
- wait(12 * 85 + 60);
- Explody_RandBulletA3(); //6
- wait(32 * 45 + 60);
- Explody_RandBulletA4(); //7
- wait(32 * 30 + 140);
- Explody_RandBulletA5(); //8
- wait(30 + 160);
- Rand_Bullet(); //9
- wait(150 * 2 + 60);
- LinearDanmaku(); //10
- wait(80 + 180);
- RING_PlayerExecutor(); //11
- wait(85 * 4 + 60);
- NonDir_LaserRing(); //12
- wait(390 + 100);
- Track_ExplodyBulletA1(); //13
- wait(32 * 45 + 60);
- Track_ExplodyBulletA2(); //14
- wait(18 * 60 + 20);
- Windy_BulletsA1(); //15
- wait(8 * 35 + 290);
- Windy_BulletsA2(); //16
- wait(8 * 35 + 290);
- LaserZone(); //17
- wait(500);
- Ex_RandBullet(); //18
- wait(75 + 455);
- DoubleExplody_RandBullet(); //19
- wait(365 + 320);
- Wavy_Tentacles(); //20
- wait(8 * 20 + 1020);
- Octo_Fist(fr); //24
- wait(fr + 1340);
- }
- }
- //funciones y tareas básicas
- function wait(f) { loop(f) { yield; } }
- function ctm_Shot(lox, loy, sp, ang, ang_sp)
- {
- let obj = CreateShotA1(lox, loy, sp, ang, 233, 0);
- ObjMove_SetAngularVelocity(obj, ang_sp);
- return obj;
- }
- task ObjShot_FadeDeleteAtFrame(ID, fr)
- {
- wait(fr);
- ObjShot_FadeDelete(ID);
- }
- > fr + 50)
- {
- CheckArray_Bullets();
- angle+=1.75;
- }
- if(cnt_tracker > fr + 350) { Obj_Delete(ParentObj); }
- ObjMove_SetPosition(ParentObj, x + 120 * cos(angle), y + 120 * sin(angle));
- yield;
- }
- task CheckArray_Bullets()
- {
- let bull_lengtH = GetShotIdInCircleA2(ObjMove_GetX(ParentObj), ObjMove_GetY(ParentObj), 35, TARGET_ENEMY);
- ascent(i in 0..length(bull_lengtH))
- {
- Obj_Delete(bull_lengtH[i]);
- }
- }
- }
- task Tentacle(ang, rot)
- {
- ascent(i in 1..18)
- {
- ctm_ExShotA1(i, 750, [x, y], [x + (i * 24) * cos(ang), y + (i * 24) * sin(ang)], ang, 6, 3, rot);
- AdviceLaser(boss, x, y, ang, 600, 328, 120 % i, 161, 120 % i);
- }
- task ctm_ExShotA1(i, fr, ini_loc, fin_loc, ang, we, sp, rot)
- {
- let cnt = 0;
- let rang = 0;
- let ParentObj = CreateShotA1(ini_loc[0], ini_loc[1], 0, ang, 225, 0);
- ObjMove_SetDestAtWeight(ParentObj, fin_loc[0], fin_loc[1], we, sp);
- wait(7 * i);
- ObjMove_SetAcceleration(ParentObj, 0.3);
- loop(fr + 20)
- {
- cnt+=1;
- rang+=rot * sin(cnt * 2);
- ObjMove_SetPosition(ParentObj, x + (i * 24) * cos(ang + rang), y + (i * 24) * sin(ang + rang));
- yield;
- }
- descent(i in -18..-1)
- {
- ObjMove_SetDestAtWeight(ParentObj, ini_loc[0], ini_loc[1], sp * -i, we);
- ObjShot_FadeDeleteAtFrame(ParentObj, 150);
- }
- }
- }
- task OneFist(fr, angle, sp, we, ret)
- {
- ascent(i in 1..16)
- {
- AdviceLaser(boss, x, y, angle, 600, 328, 100, 160, 100);
- ctm_ExShotA2(i, fr, [x, y], [x + (i * 24) * cos(angle), y + (i * 24) * sin(angle)], angle, we, sp, ret);
- }
- task ctm_ExShotA2(i, fr, ini_loc, fin_loc, ang, we, sp, del)
- {
- let ParentObj = CreateShotA1(ini_loc[0], ini_loc[1], 0, ang, 225, 0);
- wait(fr);
- ascent(j in 0..6)
- {
- ObjMove_SetDestAtWeight(ParentObj, fin_loc[0], fin_loc[1], sp[2], we[2]);
- wait(del[1]);
- ObjMove_SetDestAtWeight(ParentObj, ini_loc[0], ini_loc[1], sp[1], we[1]);
- wait(del[0]);
- }
- ObjShot_FadeDeleteAtFrame(ParentObj, 8 % i);
- }
- }
- //ataques ya realizados con éxito
- task RING_1
- {
- let angle = 180;
- loop(32)
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) < 0) { return; }
- loop(8)
- {
- let orig = CreateShotA1(x, y, 5, angle, 225, 0);
- ObjMove_AddPatternA2(orig, 10, 4, NO_CHANGE, -0.1, 0, 2.7);
- angle+=360/8;
- }
- angle+=4;
- wait(7);
- }
- }
- task RING_2
- {
- let angle0 = 0;
- let angle1 = 22.5;
- loop(8)
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) < 0) { return; }
- loop(8)
- {
- let bull = CreateShotA1(x, y, 6, angle0, 17, 0);
- ObjMove_AddPatternA2(bull, 5, 3.5, NO_CHANGE, -0.1, 0, 2.8);
- angle0+=360/8;
- }
- wait(20);
- loop(8)
- {
- let bull = CreateShotA1(x, y, 6, angle1, 17, 0);
- ObjMove_AddPatternA2(bull, 5, 3.5, NO_CHANGE, -0.1, 0, 2.8);
- angle1+=360/8;
- }
- wait(20);
- }
- }
- task RING_3
- {
- let angle0 = 0;
- let angle1 = 22.5;
- loop(8)
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) < 0) { return; }
- loop(8)
- {
- let wink = 1;
- let Shot = CreateShotA1(x, y, 3, angle0, 17, 0);
- ascent(i in 0..6)
- {
- ObjMove_AddPatternA2(Shot, 0, 3 * i, NO_CHANGE, -1, 0.8 * wink, 1.5 / i);
- ObjMove_AddPatternA2(Shot, 40, 3 * i, NO_CHANGE, -1, 0.8 * -wink, 1.5 / i);
- ObjMove_AddPatternA2(Shot, 80, 3 * i, NO_CHANGE, -1, 0.8 * wink, 1.5 / i);
- ObjMove_AddPatternA2(Shot, 120, 3 * i, NO_CHANGE, -1, 0.8 * -wink, 1.5 / i);
- wink*=-1;
- }
- angle0+=360/8;
- }
- wait(20);
- loop(8)
- {
- let wink = 1;
- let Shot = CreateShotA1(x, y, 3, angle1, 17, 0);
- ascent(i in 0..6)
- {
- ObjMove_AddPatternA2(Shot, 0, 3 * i, NO_CHANGE, -1, 0.8 * wink, 1.5 / i);
- ObjMove_AddPatternA2(Shot, 40, 3 * i, NO_CHANGE, -1, 0.8 * -wink, 1.5 / i);
- ObjMove_AddPatternA2(Shot, 80, 3 * i, NO_CHANGE, -1, 0.8 * wink, 1.5 / i);
- ObjMove_AddPatternA2(Shot, 120, 3 * i, NO_CHANGE, -1, 0.8 * -wink, 1.5 / i);
- wink*=-1;
- }
- angle1+=360/8;
- }
- wait(20);
- }
- }
- task Explody_RandBulletA1
- {
- let angle;
- loop(16)
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) < 0) { return; }
- angle = rand(0, 360);
- ExplodeBulletA1(x, y, angle, 3, -0.0000009, 2.1, -0.1, 53, 0, 0);
- wait(50);
- }
- }
- task Explody_RandBulletA2
- {
- loop(12)
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) <= 0) { return; }
- ExplodeBulletA2(x, y, rand(0, 360), 3.2, -0.0000009, 2.5, -0.1, 28, 0);
- wait(85);
- }
- }
- task Explody_RandBulletA3
- {
- loop(32)
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) <= 0) { return; }
- let angle = rand(0, 360);
- ExplodeBulletA1(x + 168 * cos(angle), y + 168 * sin(angle), 0, 0, 0, 0, 0, 40, 1, 10);
- wait(45);
- }
- }
- task Explody_RandBulletA4
- {
- loop(32)
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) <= 0) { return; }
- let angle = rand(0, 360);
- ExplodeBulletA3(x, y, angle, rand(3.5, 5), 5.5, 5, -0.1, 120, 0);
- wait(30);
- }
- }
- task Explody_RandBulletA5
- {
- loop(1)
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) <= 0) { return; }
- let angle = rand(0, 360);
- loop(7)
- {
- ExplodeBulletA1(x + 168 * cos(angle), y + 168 * sin(angle), angle, 0, 0, 0, 0, 80, 1, 10);
- angle+=360/7;
- }
- }
- }
- task Rand_Bullet
- {
- loop(150)
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) <= 0) { return; }
- loop(2) { CreateShotA2(x, y, rand(2, 4.5), rand(0, 360), -0.7, rand(1.5, 4), 17, 0); }
- wait(2);
- }
- }
- task LinearDanmaku
- {
- ascent(i in 0..14)
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) <= 0) { return; }
- let Shot = CreateShotA1(GetStgFrameWidth()/15 - 30, rand(0, GetStgFrameHeight()), 0, 180, 17, 0);
- ObjMove_AddPatternA2(Shot, 80, 4, 0, -0.9, 0, 3.5);
- }
- ascent(i in 0..14)
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) <= 0) { return; }
- let Shot = CreateShotA1(GetStgFrameWidth()/15 * 14 + 30, rand(0, GetStgFrameHeight()), 0, 0, 17, 0);
- ObjMove_AddPatternA2(Shot, 80, 4, 180, -0.9, 0, 3.5);
- }
- }
- task RING_PlayerExecutor
- {
- let angle = GetAngleToPlayer(boss);
- loop(85)
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) <= 0) { return; }
- loop(5)
- {
- CreateShotA1(x, y, 4, angle, 17, 0);
- angle+=360/4;
- }
- angle = GetAngleToPlayer(boss);
- wait(4);
- }
- }
- task NonDir_LaserRing
- {
- let angle = rand(0, 360);
- let rt = 0;
- ascent(angle in 0..4) { Set_NonDirLaser(angle, 4); }
- task Set_NonDirLaser(i, amnt)
- {
- let cnt = 0;
- let ParentLaser = CreateStraightLaserA1(ObjMove_GetX(boss) + 1 * cos(i * (360 / amnt)), ObjMove_GetY(boss) + 1 * sin(i * (360 / amnt)), i * (360 / amnt), 600, 32, 300, 222, 90);
- Trail(ParentLaser, i, amnt);
- while(!Obj_IsDeleted(ParentLaser))
- {
- ObjMove_SetPosition(ParentLaser, ObjMove_GetX(boss) + 1 * cos(i * (360 / amnt) + cnt), ObjMove_GetY(boss) + 1 * sin(i * (360 / amnt) + cnt));
- ObjStLaser_SetAngle(ParentLaser, i * (360 / amnt) + cnt);
- cnt+=1.25;
- yield;
- }
- }
- task Trail(Obj, i, amnt)
- {
- let ang = 0;
- let conta = 0;
- while(!Obj_IsDeleted(Obj))
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) < 0) { return; }
- loop(10)
- {
- let orig = CreateShotA1(ObjMove_GetX(Obj) + 170 * cos(i * (360 / amnt) + conta), ObjMove_GetY(Obj) + 170 * sin(i * (360 / amnt) + conta), 2.5, ang + (i * 90), 225, 0);
- ObjMove_AddPatternA2(orig, 5, 2, NO_CHANGE, -0.1, 0, 2.7);
- ObjMove_AddPatternA2(orig, 10, 1.5, NO_CHANGE, -0.6, 0, -1.7);
- //Obj_SetRenderPriorityI(orig, 21);
- ObjShot_FadeDeleteAtFrame(orig, 15);
- ang+=360/10;
- }
- conta+=2.5;
- wait(2);
- }
- }
- }
- task Track_ExplodyBulletA1
- {
- loop(32)
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) <= 0) { return; }
- ExplodeBulletA1(GetPlayerX(), GetPlayerY(), 0, 0, 0, 0, 0, 40, 1, 10);
- wait(45);
- }
- }
- task Track_ExplodyBulletA2
- {
- loop(18)
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) < 0) { return; }
- Bullet_Tracker(boss, 15, 2.5);
- wait(60);
- }
- }
- task Windy_BulletsA1
- {
- //debug, posiblemente esté en versión final
- Warning(2500, 150);
- loop(8)
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) <= 0) { return; }
- ascent(i in 0..33)
- {
- let org = CreateShotA1(-35, GetStgFrameHeight()/32 * i, 0, 0, 17, 2 * i);
- ObjMove_AddPatternB1(org, 100 % i, rand(1, 3), rand(-1.5, 1.5));
- yield;
- }
- wait(35);
- }
- task Warning(del_t, ret)
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) <= 0) { return; }
- AdviceLaser(boss, GetStgFrameWidth()/5 * 1, -75, 90, 600, 328, del_t, 160, ret);
- ascent(i in 0..5)
- {
- AdviceLaser(boss, -75, GetStgFrameHeight()/4 * i, 0, 600, 328, del_t, 160, ret);
- }
- }
- }
- task Windy_BulletsA2
- {
- //debug, posiblemente esté en versión final
- Warning(2500, 150);
- loop(8)
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) <= 0) { return; }
- ascent(i in 0..33)
- {
- let org = CreateShotA1(GetStgFrameWidth() + 35, GetStgFrameHeight()/32 * i, 0, 0, 17, 2 * i);
- ObjMove_AddPatternB1(org, 100 % i, rand(-3, -1), rand(-1.5, 1.5));
- yield;
- }
- wait(35);
- }
- task Warning(del_t, ret)
- {
- AdviceLaser(boss, GetStgFrameWidth()/5 * 4, -75, 90, 600, 328, del_t, 160, ret);
- ascent(i in 0..5)
- {
- AdviceLaser(boss, GetStgFrameWidth + 75, GetStgFrameHeight()/4 * i, 180, 600, 328, del_t, 160, ret);
- }
- }
- }
- task LaserZone
- {
- let angle = rand(0, 360);
- Warning(angle, 100, 100);
- ascent(i in -10..7)
- {
- CreateStraightLaserA1(x, y, angle + (i * 20), 600, 150, 250, 222, 100);
- }
- task Warning(angle, del_T, ret)
- {
- ascent(i in 7..8)
- {
- AdviceLaser(boss, x, y, angle + (i * 20), 600, 328, del_T, 160, ret);
- }
- }
- }
- task Ex_RandBullet
- {
- Render_Target();
- wait(75);
- Double_RandBullet();
- task Render_Target
- {
- let angle = rand(0, 360);
- loop(3)
- {
- Enemy_RngDeleter(angle, 55);
- angle+=360/3;
- }
- }
- task Double_RandBullet
- {
- loop(355)
- {
- if(ObjEnemy_GetInfo(boss, INFO_LIFE) <= 0) { return; }
- CreateShotA1(x, y, rand(5.5, 7), rand(0, 360), 17, 0);
- CreateShotA1(x, y, rand(5.5, 7), rand(0, 360), 24, 0);
- wait(1);
- }
- }
- }
- task DoubleExplody_RandBullet
- {
- ascent(i in 0..2)
- {
- ExplodeBulletA4(x, y, i * 180, 2, 1, 0.8, 0.1, 0.9, 85, 0);
- }
- }
- task Wavy_Tentacles
- {
- loop(8)
- {
- Tentacle(rand(0, 360), 0.9);
- wait(20);
- }
- }
- task Octo_Fist(fr)
- {
- let angle = rand(0, 360);
- loop(8)
- {
- OneFist(fr, angle, [3, rand(3, 9), rand(3, 9)], [3, rand(5, 8), rand(5, 8)], [rand(90, 110), rand(90, 110)]);
- angle+=360/8;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement