Advertisement
Guest User

Untitled

a guest
Jul 6th, 2019
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.73 KB | None | 0 0
  1. #東方弾幕風[Single]
  2. #Title["Flower of Light and Color"]
  3. #Text["Flower of Light and Color"]
  4. #Player[DEFAULT]
  5. #ScriptVersion[3]
  6.  
  7. #include"script/default_system/Default_ShotConst.txt"
  8. #include"script/default_system/Default_Effect.txt"
  9. //#include"../.././Cutin.txt"
  10.  
  11. let objEnemy;
  12. let bConcentrationMotion = false;
  13. let cx = GetStgFrameWidth() / 2;
  14. let cy = GetStgFrameHeight() / 2;
  15. let fx = 2*cx;
  16. let fy = 2*cy;
  17. let num = 0;
  18. let z = 0;
  19.  
  20. @Initialize
  21. {
  22. objEnemy = ObjEnemy_Create(OBJ_ENEMY_BOSS);
  23. ObjEnemy_Regist(objEnemy);
  24. ObjEnemy_SetDamageRate(objEnemy, 10, 10);
  25. TWork();
  26. TRender();
  27. // TCutin();
  28. TEnd();
  29.  
  30. DeleteShotAll(TYPE_ALL, TYPE_ITEM);
  31. }
  32. @MainLoop
  33. {
  34. let ex = ObjMove_GetX(objEnemy);
  35. let ey = ObjMove_GetY(objEnemy);
  36. ObjEnemy_SetIntersectionCircleToShot(objEnemy, ex, ey, 32);
  37. ObjEnemy_SetIntersectionCircleToPlayer(objEnemy, ex, ey, 24);
  38.  
  39. yield;
  40. }
  41. @Event
  42. {
  43. alternative(GetEventType())
  44. case(EV_REQUEST_LIFE)
  45. {
  46. SetScriptResult(500);
  47. }
  48. case(EV_REQUEST_TIMER)
  49. {
  50. SetScriptResult(70);
  51. }
  52. case(EV_REQUEST_SPELL_SCORE)
  53. {
  54. SetScriptResult(2500000);
  55. }
  56. case(EV_GAIN_SPELL)
  57. {
  58. let objScene = GetEnemyBossSceneObjectID();
  59. let score = truncate(ObjEnemyBossScene_GetInfo(objScene, INFO_SPELL_SCORE) / 10) * 10;
  60. if(ObjEnemyBossScene_GetInfo(objScene, INFO_PLAYER_SHOOTDOWN_COUNT) + ObjEnemyBossScene_GetInfo(objScene, INFO_PLAYER_SPELL_COUNT) == 0)
  61. {
  62. AddScore(score);
  63. }
  64. }
  65. }
  66.  
  67. task TWork
  68. {
  69. ObjMove_SetDestAtFrame(objEnemy, cx, 60, 60);
  70. loop(60){yield;}
  71.  
  72. let objScene = GetEnemyBossSceneObjectID();
  73. ObjEnemyBossScene_StartSpell(objScene);
  74. let frame = 0;
  75. let a = 0;
  76. let b = 0;
  77. let c = 0;
  78. let d = 0;
  79. let z = cy;
  80. let za = cy+1/4*fy;
  81. let w = cy;
  82. let wa = cy-1/4*fy;
  83. let u = cy;
  84. let ua = cy+1/4*fy;
  85. let v = cy;
  86. let va = cy-1/4*fy;
  87.  
  88. while(!Obj_IsDeleted(objEnemy))
  89. {
  90. frame++;
  91. let ex = ObjMove_GetX(objEnemy);
  92. let ey = ObjMove_GetY(objEnemy);
  93. let px = GetPlayerX;
  94. let py = GetPlayerY;
  95. let atp = atan2(py - ey, px - ex);
  96. let f = frame%60;
  97.  
  98. if (f<30 && frame%1==0)
  99. {
  100. CreateShotA1(0, z, 2, 0, DS_RICE_M_GREEN, 20);
  101. CreateShotA1(0, w, 2, 0, DS_RICE_M_GREEN, 20);
  102. CreateShotA1(0, za, 2, 0, DS_RICE_M_GREEN, 20);
  103. CreateShotA1(0, wa, 2, 0, DS_RICE_M_GREEN, 20);
  104.  
  105. z+=1;
  106. if (z==fy) {z=cy};
  107. za+=1;
  108. if (za==fy) {za=cy};
  109. w-=1;
  110. if (w==0) {w=cy};
  111. wa-=1;
  112. if (wa==0) {wa=cy};
  113. }
  114.  
  115. if (f>30 && frame%1==0)
  116. {
  117. CreateShotA1(fx, u, 2, 180, DS_RICE_M_GREEN, 20);
  118. CreateShotA1(fx, v, 2, 180, DS_RICE_M_GREEN, 20);
  119. CreateShotA1(fx, ua, 2, 180, DS_RICE_M_GREEN, 20);
  120. CreateShotA1(fx, va, 2, 180, DS_RICE_M_GREEN, 20);
  121.  
  122. u+=1;
  123. if (u==fy) {u=cy};
  124. ua+=1;
  125. if (ua==fy) {ua=cy};
  126. v-=1;
  127. if (v==0) {v=cy};
  128. va+=1;
  129. if (va==fy) {va=cy};
  130. }
  131.  
  132. if (frame%30==0)
  133. {
  134. loop(8)
  135. {
  136. let obj = CreateShotA1(rand(0,fx), 0, rand(1,3), 90+rand(-5,5), DS_BALL_BS_GREEN, 20);
  137. }
  138. ObjMove_SetAngle(obj, -90); // obj is not defined
  139. }
  140.  
  141. yield;
  142. }
  143. }
  144.  
  145. task TRender
  146. {
  147. let imgBoss = GetCurrentScriptDirectory ~ "file";
  148. ObjPrim_SetTexture(objEnemy, imgBoss);
  149.  
  150. while(!Obj_IsDeleted(objEnemy))
  151. {
  152. let angle = ObjMove_GetAngle(objEnemy);
  153. let speed = ObjMove_GetSpeed(objEnemy);
  154. ObjSprite2D_SetSourceRect(objEnemy, 1 ,1, 42, 55);
  155. ObjSprite2D_SetDestCenter(objEnemy);
  156.  
  157. yield;
  158. }
  159. }
  160.  
  161. task TEnd
  162. {
  163. while(ObjEnemy_GetInfo(objEnemy, INFO_LIFE) > 0)
  164. {
  165. yield;
  166. }
  167.  
  168. let ex = ObjMove_GetX(objEnemy);
  169. let ey = ObjMove_GetY(objEnemy);
  170. TExplosionA(ex, ey, 10, 0.6);
  171. DeleteShotAll(TYPE_ALL, TYPE_ITEM);
  172. Obj_Delete(objEnemy);
  173.  
  174. DeleteShotAll(TYPE_ALL,TYPE_IMMEDIATE);
  175. SetAutoDeleteObject(true);
  176.  
  177. CloseScript(GetOwnScriptID());
  178. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement