BananaCupcake

Untitled

Oct 1st, 2017
85
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #TouhouDanmakufu[Single]
  2. #ScriptVersion[3]
  3. #Title["Test System A8"]
  4. #Text["???"]
  5.  
  6. // Example, definitely required for cut-in.
  7. let Cutin = GetCurrentScriptDirectory ~ "img/CutIn.png";
  8. let objBoss;
  9. let objScene=GetEnemyBossSceneObjectID();
  10. let size = 0.8;
  11. let type = true;
  12. let obj = 1;
  13. let bSpell = false;
  14. let l = 1024;
  15. let w = 40;
  16. let dt = 1000;
  17. let graph = 41;
  18. let delay = 10;
  19. let count = -120;
  20.  
  21. #include "./System !/Shot/AllStarShot_Const.txt"
  22. #include "./Cutin.txt"
  23. #include "./SoundFunctions.txt"
  24.  
  25. @Initialize {
  26. //cutin(BYAKUREN,BossCutIn,0,0,250,595);
  27. objBoss = ObjEnemy_Create(OBJ_ENEMY_BOSS);
  28. ObjEnemy_Regist(objBoss);
  29. ObjMove_SetDestAtFrame(objBoss, GetCenterX, 100, 100);
  30. ObjEnemyBossScene_StartSpell(objScene);
  31. ObjCutin_SetSpellcardS4("Heaven 'Rainbow Diversities'", Cutin, BYAKUREN, 6000, 10, 7000);
  32. ObjCutin_LaunchS3(BYAKUREN, Cutin, "Focuser");
  33. PlaySound("cardcall",100,0);
  34. TDrawLoop;
  35. TFinalize;
  36. MainTask;
  37. RenderBG;
  38. DrawName;
  39.  
  40. }
  41.  
  42. @Event {
  43. alternative(GetEventType())
  44. case(EV_REQUEST_LIFE){
  45. SetScriptResult(1);
  46. }
  47. case(EV_REQUEST_TIMER){
  48. SetScriptResult(90);
  49. }
  50. case(EV_REQUEST_SPELL_SCORE){
  51. SetScriptResult(9999999);
  52. }
  53. case(EV_REQUEST_IS_DURABLE_SPELL){
  54. SetScriptResult(true);
  55. }
  56. }
  57.  
  58. @MainLoop {
  59. let objScene = GetEnemyBossSceneObjectID();
  60. if(objScene != ID_INVALID && ObjEnemyBossScene_GetInfo(objScene, INFO_IS_SPELL))
  61. {
  62. bSpell = true;
  63. }
  64. else
  65. {
  66. bSpell = false;
  67. }
  68. yield;
  69. }
  70.  
  71. task MainTask{
  72. wait(120);
  73. ObjMove_SetDestAtFrame(objBoss, GetCenterX, 100, 60);
  74. magiccircle(objBoss,size,type);
  75. fireA;
  76. fireB;
  77. fireC;
  78. fireD;
  79. fireE;
  80. fireF;
  81. fireG;
  82. fireH;
  83. fireI;
  84. fireJ;
  85. fireK;
  86. fireL;
  87. fireM;
  88. fireN;
  89. fireO;
  90. fireP;
  91. fireQ;
  92. fireR;
  93. fireS;
  94. fireT;
  95. }
  96.  
  97. task fireA{
  98. wait(150);
  99. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  100. let r = 30;
  101. let speed = 2;
  102. let num = 10;
  103. let n = 10;
  104. let way = 1;
  105. ascent(n in 0..30){
  106. ascent(i in 0..num){
  107. PlaySound("Shot2",100,0);
  108. let angle = i*360/num+(360/num)*(5/12)*n*way;
  109. ascent(j in 0..1){
  110. CreateShotA1(ObjMove_GetX(objBoss)+r*cos(angle+j*way),ObjMove_GetY(objBoss)+r*sin(angle+j*way),speed,angle+j*way,292,8);
  111. }
  112. }
  113.  
  114. wait(3);
  115. }
  116. }
  117.  
  118. task fireB{
  119. wait(240);
  120. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  121. let r = 30;
  122. let speed = 2;
  123. let num = 10;
  124. let n = 10;
  125. let way = -1;
  126. ascent(n in 0..30)
  127. {
  128. ascent(i in 0..num)
  129. {
  130. PlaySound("Shot2",100,0);
  131. let angle = i*360/num+(360/num)*(5/12)*n*way;
  132. ascent(j in 0..1)
  133. {
  134. CreateShotA1(ObjMove_GetX(objBoss)+r*cos(angle+j*way),ObjMove_GetY(objBoss)+r*sin(angle+j*way),speed,angle+j*way,298,8);
  135. }
  136. }
  137.  
  138. wait(3);
  139. }
  140. }
  141.  
  142. task fireC{
  143. wait(330);
  144. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  145. let r = 30;
  146. let speed = 2;
  147. let num = 10;
  148. let n = 10;
  149. let way = 1;
  150. ascent(n in 0..30)
  151. {
  152. ascent(i in 0..num)
  153. {
  154. let angle = i*360/num+(360/num)*(5/12)*n*way;
  155. ascent(j in 0..1)
  156. {
  157. PlaySound("Shot2",100,0);
  158. CreateShotA1(ObjMove_GetX(objBoss)+r*cos(angle+j*way),ObjMove_GetY(objBoss)+r*sin(angle+j*way),speed,angle+j*way,297,8);
  159. }
  160. }
  161.  
  162. wait(3);
  163. }
  164. }
  165.  
  166. task fireD{
  167. wait(420);
  168. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  169. let r = 30;
  170. let speed = 2;
  171. let num = 10;
  172. let n = 10;
  173. let way = -1;
  174. ascent(n in 0..30)
  175. {
  176. ascent(i in 0..num)
  177. {
  178. PlaySound("Shot2",100,0);
  179. let angle = i*360/num+(360/num)*(5/12)*n*way;
  180. ascent(j in 0..1)
  181. {
  182. CreateShotA1(ObjMove_GetX(objBoss)+r*cos(angle+j*way),ObjMove_GetY(objBoss)+r*sin(angle+j*way),speed,angle+j*way,296,8);
  183. }
  184. }
  185.  
  186. wait(3);
  187. }
  188. }
  189.  
  190. task fireE{
  191. wait(510);
  192. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  193. let r = 30;
  194. let speed = 2;
  195. let num = 10;
  196. let n = 10;
  197. let way = 1;
  198. ascent(n in 0..30)
  199. {
  200. ascent(i in 0..num)
  201. {
  202. PlaySound("Shot2",100,0);
  203. let angle = i*360/num+(360/num)*(5/12)*n*way;
  204. ascent(j in 0..1)
  205. {
  206. PlaySound("Shot2",100,0);
  207. CreateShotA1(ObjMove_GetX(objBoss)+r*cos(angle+j*way),ObjMove_GetY(objBoss)+r*sin(angle+j*way),speed,angle+j*way,295,8);
  208. }
  209. }
  210.  
  211. wait(3);
  212. }
  213. }
  214.  
  215. task fireF{
  216. wait(600);
  217. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  218. let r = 30;
  219. let speed = 2;
  220. let num = 10;
  221. let n = 10;
  222. let way = -1;
  223. ascent(n in 0..30)
  224. {
  225. ascent(i in 0..num)
  226. {
  227. PlaySound("Shot2",100,0);
  228. let angle = i*360/num+(360/num)*(5/12)*n*way;
  229. ascent(j in 0..1)
  230. {
  231. CreateShotA1(ObjMove_GetX(objBoss)+r*cos(angle+j*way),ObjMove_GetY(objBoss)+r*sin(angle+j*way),speed,angle+j*way,294,8);
  232. }
  233. }
  234.  
  235. wait(3);
  236. }
  237. }
  238.  
  239. task fireG{
  240. wait(690);
  241. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  242. let r = 30;
  243. let speed = 2;
  244. let num = 10;
  245. let n = 10;
  246. let way = 1;
  247. ascent(n in 0..30)
  248. {
  249. ascent(i in 0..num)
  250. {
  251. PlaySound("Shot2",100,0);
  252. let angle = i*360/num+(360/num)*(5/12)*n*way;
  253. ascent(j in 0..1)
  254. {
  255. CreateShotA1(ObjMove_GetX(objBoss)+r*cos(angle+j*way),ObjMove_GetY(objBoss)+r*sin(angle+j*way),speed,angle+j*way,293,8);
  256. }
  257. }
  258.  
  259. wait(3);
  260. }
  261. }
  262.  
  263. task fireH{
  264. wait(900);
  265. let ang = rand(0,360);
  266. loop(30){
  267. PlaySound("Shot2",100,0);
  268. let obj = CreateShotA1(ObjMove_GetX(objBoss),ObjMove_GetY(objBoss),4,ang,276,10);
  269. let obj2 = CreateShotA1(ObjMove_GetX(objBoss),ObjMove_GetY(objBoss),3.5,ang,282,10);
  270. let obj3 = CreateShotA1(ObjMove_GetX(objBoss),ObjMove_GetY(objBoss),3,ang+5,281,10);
  271. let obj4 = CreateShotA1(ObjMove_GetX(objBoss),ObjMove_GetY(objBoss),2.5,ang,280,10);
  272. let obj5 = CreateShotA1(ObjMove_GetX(objBoss),ObjMove_GetY(objBoss),2,ang,279,10);
  273. let obj6 = CreateShotA1(ObjMove_GetX(objBoss),ObjMove_GetY(objBoss),1.5,ang+5,278,10);
  274. let obj7 = CreateShotA1(ObjMove_GetX(objBoss),ObjMove_GetY(objBoss),1,ang+5,277,10);
  275. ObjMove_SetAngularVelocity(obj, 0.2);
  276. ObjMove_SetAngularVelocity(obj2, -0.2);
  277. ObjMove_SetAngularVelocity(obj3, 0.2);
  278. ObjMove_SetAngularVelocity(obj4, -0.2);
  279. ObjMove_SetAngularVelocity(obj5, 0.2);
  280. ObjMove_SetAngularVelocity(obj6, -0.2);
  281. ObjMove_SetAngularVelocity(obj7, 0.2);
  282. ang += 360/30;
  283.  
  284. }
  285. }
  286.  
  287. task fireI{
  288. wait(1200);
  289. PlaySound("Laser1",100,0);
  290. let angleT = GetAngleToPlayer(objBoss);
  291. loop(32){
  292. let obj = CreateStraightLaserA1(ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), angleT, 512, 50, 20, 1033, 60);
  293. ObjMove_AddPatternA2(obj, 120, NO_CHANGE, NO_CHANGE, 0.1, 0, 6);
  294. angleT += 360/-32;
  295. wait(5);
  296. }
  297. }
  298.  
  299. task fireJ{
  300. wait(1200);
  301. PlaySound("Laser1",100,0);
  302. let angleT = GetAngleToPlayer(objBoss);
  303. loop(32){
  304. let obj = CreateStraightLaserA1(ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), angleT, 512, 50, 20, 1039, 60);
  305. ObjMove_AddPatternA2(obj, 120, NO_CHANGE, NO_CHANGE, 0.1, 0, 6);
  306. angleT += 360/32;
  307. wait(5);
  308. }
  309. }
  310.  
  311. task fireK{
  312. wait(1400);
  313. PlaySound("Laser1",100,0);
  314. let angleT = GetAngleToPlayer(objBoss);
  315. loop(32){
  316. let obj = CreateStraightLaserA1(ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), angleT, 512, 50, 20, 1036, 60);
  317. ObjMove_AddPatternA2(obj, 120, NO_CHANGE, NO_CHANGE, 0.1, 0, 6);
  318. angleT += 360/-32;
  319. wait(5);
  320. }
  321. }
  322.  
  323. task fireL{
  324. wait(1400);
  325. PlaySound("Laser1",100,0);
  326. let angleT = GetAngleToPlayer(objBoss);
  327. loop(32){
  328. let obj = CreateStraightLaserA1(ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), angleT, 512, 50, 20, 1035, 60);
  329. ObjMove_AddPatternA2(obj, 120, NO_CHANGE, NO_CHANGE, 0.1, 0, 6);
  330. angleT += 360/32;
  331. wait(5);
  332. }
  333. }
  334.  
  335. task fireM{
  336. wait(1600);
  337. PlaySound("Laser1",100,0);
  338. let angleT = GetAngleToPlayer(objBoss);
  339. loop(32){
  340. let obj = CreateStraightLaserA1(ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), angleT, 512, 50, 20, 1038, 60);
  341. ObjMove_AddPatternA2(obj, 120, NO_CHANGE, NO_CHANGE, 0.1, 0, 6);
  342. angleT += 360/-32;
  343. wait(5);
  344. }
  345. }
  346.  
  347. task fireN{
  348. wait(1600);
  349. PlaySound("Laser1",100,0);
  350. let angleT = GetAngleToPlayer(objBoss);
  351. loop(32){
  352. let obj = CreateStraightLaserA1(ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), angleT, 512, 50, 20, 1034, 60);
  353. ObjMove_AddPatternA2(obj, 120, NO_CHANGE, NO_CHANGE, 0.1, 0, 6);
  354. angleT += 360/32;
  355. wait(5);
  356. }
  357. }
  358.  
  359. task fireO{
  360. wait(1850);
  361. PlaySound("Laser5",100,0);
  362. let angleT = GetAngleToPlayer(objBoss);
  363. loop(5){
  364. let obj = CreateStraightLaserA1(ObjMove_GetX(objBoss), ObjMove_GetY(objBoss), angleT, 1024, 200, 100, 1037, 60);
  365. angleT += 360/5;
  366. wait(5);
  367. }
  368. }
  369.  
  370. task fireP{
  371. ascent(i in 0..5){
  372. TShot01(i*360/1);
  373. TShot02(i*360/1);
  374. TShot03(i*360/1);
  375. TShot04(i*360/1);
  376. TShot05(i*360/1);
  377. TShot06(i*360/1);
  378. TShot07(i*360/1);
  379. TShot08(i*360/1);
  380. }
  381. }
  382.  
  383. task TShot01(angle){
  384. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  385. wait(2000);
  386. let AnyDirection = rand(0,360);
  387. let GetPlayerXY = GetAngleToPlayer(objBoss);
  388. let x = 0;
  389. let dir = 45+angle;
  390. let y = 0;
  391. loop{
  392. while(x<180){
  393. PlaySound("Shot1",100,0);
  394. CreateShotA2(ObjMove_GetX(objBoss)+(30)*cos(dir),ObjMove_GetY(objBoss)+(30)*sin(dir),2,dir,+0.05,3,67,10);
  395. x++;
  396. dir += 360/180+y;
  397. y ++;
  398. y -= 0.98;
  399. wait(12);
  400. }
  401. x = 0;
  402.  
  403. yield;
  404. }
  405. }
  406.  
  407. task TShot02(angle){
  408. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  409. wait(2000);
  410. let AnyDirection = rand(0,360);
  411. let GetPlayerXY = GetAngleToPlayer(objBoss);
  412. let x = 0;
  413. let dir = 90+angle;
  414. let y = 0;
  415. loop{
  416. while(x<180){
  417. PlaySound("Shot1",100,0);
  418. CreateShotA2(ObjMove_GetX(objBoss)+(30)*cos(dir),ObjMove_GetY(objBoss)+(30)*sin(dir),2,dir,+0.05,3,79,10);
  419. x++;
  420. dir += 360/180+y;
  421. y ++;
  422. y -= 0.98;
  423. wait(12);
  424. }
  425. x = 0;
  426.  
  427. yield;
  428. }
  429. }
  430.  
  431. task TShot03(angle){
  432. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  433. wait(2000);
  434. let AnyDirection = rand(0,360);
  435. let GetPlayerXY = GetAngleToPlayer(objBoss);
  436. let x = 0;
  437. let dir = 135+angle;
  438. let y = 0;
  439. loop{
  440. while(x<180){
  441. PlaySound("Shot1",100,0);
  442. CreateShotA2(ObjMove_GetX(objBoss)+(30)*cos(dir),ObjMove_GetY(objBoss)+(30)*sin(dir),2,dir,+0.05,3,78,10);
  443. x++;
  444. dir += 360/180+y;
  445. y ++;
  446. y -= 0.98;
  447. wait(12);
  448. }
  449. x = 0;
  450.  
  451. yield;
  452. }
  453. }
  454.  
  455. task TShot04(angle){
  456. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  457. wait(2000);
  458. let AnyDirection = rand(0,360);
  459. let GetPlayerXY = GetAngleToPlayer(objBoss);
  460. let x = 0;
  461. let dir = 180+angle;
  462. let y = 0;
  463. loop{
  464. while(x<180){
  465. PlaySound("Shot1",100,0);
  466. CreateShotA2(ObjMove_GetX(objBoss)+(30)*cos(dir),ObjMove_GetY(objBoss)+(30)*sin(dir),2,dir,+0.05,3,75,10);
  467. x++;
  468. dir += 360/180+y;
  469. y ++;
  470. y -= 0.98;
  471. wait(12);
  472. }
  473. x = 0;
  474.  
  475. yield;
  476. }
  477. }
  478.  
  479. task TShot05(angle){
  480. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  481. wait(2000);
  482. let AnyDirection = rand(0,360);
  483. let GetPlayerXY = GetAngleToPlayer(objBoss);
  484. let x = 0;
  485. let dir = 225+angle;
  486. let y = 0;
  487. loop{
  488. while(x<180){
  489. PlaySound("Shot1",100,0);
  490. CreateShotA2(ObjMove_GetX(objBoss)+(30)*cos(dir),ObjMove_GetY(objBoss)+(30)*sin(dir),2,dir,+0.05,3,73,10);
  491. x++;
  492. dir += 360/180+y;
  493. y ++;
  494. y -= 0.98;
  495. wait(12);
  496. }
  497. x = 0;
  498.  
  499. yield;
  500. }
  501. }
  502.  
  503. task TShot06(angle){
  504. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  505. wait(2000);
  506. let AnyDirection = rand(0,360);
  507. let GetPlayerXY = GetAngleToPlayer(objBoss);
  508. let x = 0;
  509. let dir = 270+angle;
  510. let y = 0;
  511. loop{
  512. while(x<180){
  513. PlaySound("Shot1",100,0);
  514. CreateShotA2(ObjMove_GetX(objBoss)+(30)*cos(dir),ObjMove_GetY(objBoss)+(30)*sin(dir),2,dir,+0.05,3,71,10);
  515. x++;
  516. dir += 360/180+y;
  517. y ++;
  518. y -= 0.98;
  519. wait(12);
  520. }
  521. x = 0;
  522.  
  523. yield;
  524. }
  525. }
  526.  
  527. task TShot07(angle){
  528. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  529. wait(2000);
  530. let AnyDirection = rand(0,360);
  531. let GetPlayerXY = GetAngleToPlayer(objBoss);
  532. let x = 0;
  533. let dir = 315+angle;
  534. let y = 0;
  535. loop{
  536. while(x<180){
  537. PlaySound("Shot1",100,0);
  538. CreateShotA2(ObjMove_GetX(objBoss)+(30)*cos(dir),ObjMove_GetY(objBoss)+(30)*sin(dir),2,dir,+0.05,3,68,10);
  539. x++;
  540. dir += 360/180+y;
  541. y ++;
  542. y -= 0.98;
  543. wait(12);
  544. }
  545. x = 0;
  546.  
  547. yield;
  548. }
  549. }
  550.  
  551. task TShot08(angle){
  552. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  553. wait(2000);
  554. let AnyDirection = rand(0,360);
  555. let GetPlayerXY = GetAngleToPlayer(objBoss);
  556. let x = 0;
  557. let dir = angle;
  558. let y = 0;
  559. loop{
  560. while(x<180){
  561. CreateShotA2(ObjMove_GetX(objBoss)+(30)*cos(dir),ObjMove_GetY(objBoss)+(30)*sin(dir),2,dir,+0.05,3,69,10);
  562. x++;
  563. dir += 360/180+y;
  564. y ++;
  565. y -= 0.98;
  566. wait(12);
  567. }
  568. x = 0;
  569.  
  570. yield;
  571. }
  572. }
  573.  
  574. task fireQ{
  575. ascent(i in 0..5){
  576. TShot11(i*360/1);
  577. TShot12(i*360/1);
  578. TShot13(i*360/1);
  579. TShot14(i*360/1);
  580. TShot15(i*360/1);
  581. TShot16(i*360/1);
  582. TShot17(i*360/1);
  583. TShot18(i*360/1);
  584. }
  585. }
  586.  
  587. task TShot11(angle){
  588. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  589. wait(3400);
  590. let AnyDirection = rand(0,360);
  591. let GetPlayerXY = GetAngleToPlayer(objBoss);
  592. let x = 0;
  593. let dir = 45+angle;
  594. let y = 0;
  595. loop{
  596. while(x<180){
  597. PlaySound("Shot1",100,0);
  598. CreateShotA2(ObjMove_GetX(objBoss)+(30)*cos(dir),ObjMove_GetY(objBoss)+(30)*sin(dir),2,dir,+0.05,3,67,10);
  599. x++;
  600. dir += 360/-180+y;
  601. y ++;
  602. y -= 0.98;
  603. wait(12);
  604. }
  605. x = 0;
  606.  
  607. yield;
  608. }
  609. }
  610.  
  611. task TShot12(angle){
  612. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  613. wait(3400);
  614. let AnyDirection = rand(0,360);
  615. let GetPlayerXY = GetAngleToPlayer(objBoss);
  616. let x = 0;
  617. let dir = 90+angle;
  618. let y = 0;
  619. loop{
  620. while(x<180){
  621. PlaySound("Shot1",100,0);
  622. CreateShotA2(ObjMove_GetX(objBoss)+(30)*cos(dir),ObjMove_GetY(objBoss)+(30)*sin(dir),2,dir,+0.05,3,79,10);
  623. x++;
  624. dir += 360/-180+y;
  625. y ++;
  626. y -= 0.98;
  627. wait(12);
  628. }
  629. x = 0;
  630.  
  631. yield;
  632. }
  633. }
  634.  
  635. task TShot13(angle){
  636. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  637. wait(3400);
  638. let AnyDirection = rand(0,360);
  639. let GetPlayerXY = GetAngleToPlayer(objBoss);
  640. let x = 0;
  641. let dir = 135+angle;
  642. let y = 0;
  643. loop{
  644. while(x<180){
  645. PlaySound("Shot1",100,0);
  646. CreateShotA2(ObjMove_GetX(objBoss)+(30)*cos(dir),ObjMove_GetY(objBoss)+(30)*sin(dir),2,dir,+0.05,3,78,10);
  647. x++;
  648. dir += 360/180+y;
  649. y ++;
  650. y -= 0.98;
  651. wait(12);
  652. }
  653. x = 0;
  654.  
  655. yield;
  656. }
  657. }
  658.  
  659. task TShot14(angle){
  660. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  661. wait(3400);
  662. let AnyDirection = rand(0,360);
  663. let GetPlayerXY = GetAngleToPlayer(objBoss);
  664. let x = 0;
  665. let dir = 180+angle;
  666. let y = 0;
  667. loop{
  668. while(x<180){
  669. PlaySound("Shot1",100,0);
  670. CreateShotA2(ObjMove_GetX(objBoss)+(30)*cos(dir),ObjMove_GetY(objBoss)+(30)*sin(dir),2,dir,+0.05,3,75,10);
  671. x++;
  672. dir += 360/180+y;
  673. y ++;
  674. y -= 0.98;
  675. wait(12);
  676. }
  677. x = 0;
  678.  
  679. yield;
  680. }
  681. }
  682.  
  683. task TShot15(angle){
  684. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  685. wait(3400);
  686. let AnyDirection = rand(0,360);
  687. let GetPlayerXY = GetAngleToPlayer(objBoss);
  688. let x = 0;
  689. let dir = 225+angle;
  690. let y = 0;
  691. loop{
  692. while(x<180){
  693. PlaySound("Shot1",100,0);
  694. CreateShotA2(ObjMove_GetX(objBoss)+(30)*cos(dir),ObjMove_GetY(objBoss)+(30)*sin(dir),2,dir,+0.05,3,73,10);
  695. x++;
  696. dir += 360/180+y;
  697. y ++;
  698. y -= 0.98;
  699. wait(12);
  700. }
  701. x = 0;
  702.  
  703. yield;
  704. }
  705. }
  706.  
  707. task TShot16(angle){
  708. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  709. wait(3400);
  710. let AnyDirection = rand(0,360);
  711. let GetPlayerXY = GetAngleToPlayer(objBoss);
  712. let x = 0;
  713. let dir = 270+angle;
  714. let y = 0;
  715. loop{
  716. while(x<180){
  717. PlaySound("Shot1",100,0);
  718. CreateShotA2(ObjMove_GetX(objBoss)+(30)*cos(dir),ObjMove_GetY(objBoss)+(30)*sin(dir),2,dir,+0.05,3,71,10);
  719. x++;
  720. dir += 360/180+y;
  721. y ++;
  722. y -= 0.98;
  723. wait(12);
  724. }
  725. x = 0;
  726.  
  727. yield;
  728. }
  729. }
  730.  
  731. task TShot17(angle){
  732. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  733. wait(3400);
  734. let AnyDirection = rand(0,360);
  735. let GetPlayerXY = GetAngleToPlayer(objBoss);
  736. let x = 0;
  737. let dir = 315+angle;
  738. let y = 0;
  739. loop{
  740. while(x<180){
  741. PlaySound("Shot1",100,0);
  742. CreateShotA2(ObjMove_GetX(objBoss)+(30)*cos(dir),ObjMove_GetY(objBoss)+(30)*sin(dir),2,dir,+0.05,3,68,10);
  743. x++;
  744. dir += 360/180+y;
  745. y ++;
  746. y -= 0.98;
  747. wait(12);
  748. }
  749. x = 0;
  750.  
  751. yield;
  752. }
  753. }
  754.  
  755. task TShot18(angle){
  756. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){break;}
  757. wait(3400);
  758. let AnyDirection = rand(0,360);
  759. let GetPlayerXY = GetAngleToPlayer(objBoss);
  760. let x = 0;
  761. let dir = angle;
  762. let y = 0;
  763. loop{
  764. while(x<180){
  765. CreateShotA2(ObjMove_GetX(objBoss)+(30)*cos(dir),ObjMove_GetY(objBoss)+(30)*sin(dir),2,dir,+0.05,3,69,10);
  766. x++;
  767. dir += 360/180+y;
  768. y ++;
  769. y -= 0.98;
  770. wait(12);
  771. }
  772. x = 0;
  773.  
  774. yield;
  775. }
  776. }
  777. task fireR{
  778. if(ObjEnemy_GetInfo(objBoss, INFO_LIFE) <= 0){return;}//Default kill to prevent (0,0) spawning
  779. wait(3800);
  780. PlaySound("boon2",100,0);
  781. //BOUND IS 0+60
  782. let obj = CreateStraightLaserA1(-30, 0, 0, 512, 36, 6000, 1051, 0);
  783. ObjStLaser_SetSource(obj, false);
  784. ascent(i in 0..8){//Move the laser
  785. ObjMove_SetY(obj, i);
  786. yield;
  787. }
  788.  
  789. }
  790.  
  791. task fireS{
  792. if(ObjEnemy_GetInfo(objBoss, INFO_LIFE) <= 0){return;}//Default kill to prevent (0,0) spawning
  793. wait(3800);
  794. PlaySound("boon2",100,0);
  795. //BOUND IS GSFH-60
  796. let obj = CreateStraightLaserA1(-30, GetStgFrameHeight, 0, 512, 36, 6000, 1003, 0);
  797. ObjStLaser_SetSource(obj, false);
  798. ascent(i in 0..8){//Move the laser
  799. ObjMove_SetY(obj, GetStgFrameHeight-i);
  800. yield;
  801. }
  802. }
  803.  
  804. task fireT{
  805. wait(4200);
  806. if(ObjEnemy_GetInfo(objBoss, INFO_LIFE) <= 0){return;}//Default kill to prevent (0,0) spawning
  807. //BOUND IS GSFH-60
  808. let obj = CreateStraightLaserA1(0, GetStgFrameHeight, 0, 512, 36, 6000, 1015, 0);
  809. ObjStLaser_SetSource(obj, false);
  810. ascent(i in 0..8){//Move the laser
  811. ObjMove_SetY(obj, GetStgFrameHeight-i);
  812. yield;
  813. }
  814. }
  815.  
  816. task DrawName{
  817. let objText = ObjText_Create();
  818. let alpha = 255;
  819. ObjText_SetText(objText, "Eiki Shiki");
  820. ObjText_SetFontSize(objText, 12);
  821. ObjText_SetFontColorTop(objText, 255, 255, 255);
  822. ObjText_SetFontColorBottom(objText, 0, 255, 128);
  823. ObjText_SetFontBorderType(objText, BORDER_SHADOW);
  824. ObjText_SetFontBorderColor(objText,0, 128, 128);
  825. ObjText_SetFontBorderWidth(objText, 2);
  826. ObjRender_SetPosition(objText,0,12,0);
  827. while(!Obj_IsDeleted(objText)){
  828. if(GetPlayerY>80 && alpha<255){alpha+=10;}
  829. if(GetPlayerY<=80 && alpha>100){alpha-=10;}
  830. ObjRender_SetAlpha(objText,alpha);
  831. yield;
  832. }
  833. }
  834.  
  835. task RenderBG{
  836. let path1 = GetCurrentScriptDirectory() ~ "img/Muenzuka.png";
  837. let obj1 = ObjPrim_Create(OBJ_SPRITE_2D);
  838. ObjRender_SetBlendType(obj1, BLEND_ALPHA);
  839. Obj_SetRenderPriority(obj1, 0.20);
  840. ObjPrim_SetTexture(obj1, path1);
  841. ObjSprite2D_SetSourceRect(obj1, 0, 0, 512, 512);
  842. ObjSprite2D_SetDestRect(obj1, -256, -256, 256, 256);
  843. ObjRender_SetPosition(obj1, 384/2, 448/2, 1);
  844. let frame = 0;
  845. let alpha = 0;
  846. loop {
  847. if (bSpell) { //Transition from stage background
  848. alpha = 255;
  849. } else {
  850. alpha = 0; //If no longer spell
  851. }
  852. Obj_SetVisible(obj1, alpha > 0);
  853. frame++;
  854. yield;
  855. }
  856. }
  857.  
  858. task magiccircle(objBoss,size,type){
  859. let obj=ObjPrim_Create(OBJ_SPRITE_2D);
  860. let GCSD = GetCurrentScriptDirectory;
  861. let img=GCSD~"img/MG (3).png";
  862. let spin = 0;
  863. let s = 0;
  864. LoadTexture(img);
  865. ObjPrim_SetTexture(obj,img);
  866. ObjSprite2D_SetSourceRect(obj,0,0,256,256);
  867. ObjSprite2D_SetDestCenter(obj);
  868. ObjRender_SetScaleXYZ(obj,size,size,size);
  869. ObjRender_SetAlpha(obj,230);
  870. Obj_SetRenderPriority(obj,0.35);
  871. while(!Obj_IsDeleted(objBoss)){
  872. spin += 3;
  873. ObjRender_SetAngleXYZ(obj,0,0,-spin*1.5);
  874. ObjRender_SetPosition(obj,ObjMove_GetX(objBoss),ObjMove_GetY(objBoss),0);
  875. if(type==true){
  876. ObjRender_SetScaleXYZ(obj,size+0.08*sin(spin),size+0.08*sin(spin),0);
  877. }
  878. ObjMove_SetPosition(obj,ObjMove_GetX(objBoss), ObjMove_GetY(objBoss));
  879. yield;
  880. }
  881. Obj_Delete(obj);
  882. }
  883.  
  884. task TDrawLoop {
  885. let obj=ObjPrim_Create(OBJ_SPRITE_2D);
  886. let imgBoss = GetCurrentScriptDirectory() ~ "img/shikieiki.png.png";
  887. ObjPrim_SetTexture(objBoss, imgBoss);
  888. ObjSprite2D_SetSourceRect(objBoss, 0, 0, 148, 125);
  889. ObjSprite2D_SetDestCenter(objBoss);
  890. wait(100);
  891. ObjRender_SetAlpha(obj,150);
  892. yield;
  893.  
  894. }
  895.  
  896. task TFinalize{
  897. while(ObjEnemy_GetInfo(objBoss, INFO_LIFE) > 0){yield;}
  898. if(ObjEnemyBossScene_GetInfo(objScene, INFO_PLAYER_SHOOTDOWN_COUNT)
  899. +ObjEnemyBossScene_GetInfo(objScene, INFO_PLAYER_SPELL_COUNT) == 0){
  900. AddScore(ObjEnemyBossScene_GetInfo(objScene, INFO_SPELL_SCORE));
  901. PlaySound("capture",100,0);
  902. }
  903. Obj_Delete(objBoss);
  904. DeleteShotAll(TYPE_ALL,TYPE_IMMEDIATE);
  905. SetAutoDeleteObject(true);
  906. CloseScript(GetOwnScriptID());
  907. return;
  908. }
  909.  
  910. function GetCenterX(){
  911. return GetStgFrameWidth() / 2;
  912. }
  913.  
  914. function wait(n){
  915. loop(n){yield;}
  916. }
RAW Paste Data