Guest User

kktyfkgy

a guest
Mar 11th, 2013
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.93 KB | None | 0 0
  1. #TouhouDanmakufu
  2. #Title[Final Spell]
  3. #Text[An attempt at making a spell]
  4. #Player[REIMU]
  5. #ScriptVersion[2]
  6. #PlayLevel[Normal]
  7.  
  8. script_enemy_main{
  9.  
  10. let D = GetCurrentScriptDirectory;
  11. let imgBoss = D ~ "system\touhoucharacter1.png";
  12. let cut = D ~ "system\touhoucharacter3.png";
  13. wait(200);
  14.  
  15. @Initialize{
  16. SetLife(1);
  17. SetTimer(83);
  18. SetScore(2500000);
  19. LoadGraphic(imgBoss);
  20. Concentration01(120);
  21. Concentration02(120);
  22. SetEffectForZeroLife(160, 255, 2);
  23. SetDurableSpellCard;
  24. SetMovePosition02(GetCenterX,GetCenterY,0);
  25. SetInvincibility(180);
  26. ForbidShot(true);
  27. wait(180);
  28. CutIn(YOUMU,"Final Spell - Not finished. :) -",cut,0,0,360,290);
  29. fire;
  30. fireb;
  31. firec;
  32. fired;
  33. firee;
  34. firef;
  35. wait(2140);
  36. fireb2;
  37. wait(1800);
  38. fireb3;
  39. }
  40. @MainLoop{yield;}
  41. @DrawLoop{
  42. SetTexture(imgBoss);
  43. SetRenderState(ALPHA);
  44. SetAlpha(255);
  45. SetGraphicRect(0,0,110,110);
  46. SetGraphicScale(0.7,0.7);
  47. SetGraphicAngle(0,0,0);
  48. DrawGraphic(GetX,GetY);
  49. }
  50. @BackGround{}
  51. @Finalize{
  52. DeleteGraphic(imgBoss);
  53. DeleteGraphic(cut);
  54. loop(10000){CreateItem(ITEM_SCORE,rand(GetClipMaxX,GetClipMinX),rand(GetClipMaxY,GetClipMinY));}
  55. CollectItems;
  56. }
  57. task fire{
  58. wait(120);
  59. loop{
  60. let dir = 0;
  61. loop(15){
  62. loop(18){
  63. CreateShotA(1,GetX,GetY,0);
  64. SetShotDataA(1,0,2,dir,0.5,0,0,BLUE04);
  65. FireShot(1);
  66. CreateShotA(2,GetX,GetY,0);
  67. SetShotDataA(2,0,2,dir,-0.5,0,0,BLUE04);
  68. FireShot(2);
  69. dir+=20;
  70. }
  71. dir = 0;
  72. wait(120);}
  73. loop(35.6){
  74. loop(18){
  75. CreateShotA(1,GetX,GetY,0);
  76. SetShotDataA(1,0,2,dir,0.6,0,0,BLUE04);
  77. FireShot(1);
  78. CreateShotA(2,GetX,GetY,0);
  79. SetShotDataA(2,0,2,dir,-0.6,0,0,BLUE04);
  80. FireShot(2);
  81. dir+=20;
  82. }
  83. dir = 0;
  84. wait(60);}
  85. loop(45){
  86. loop(18){
  87. CreateShotA(1,GetX,GetY,0);
  88. SetShotDataA(1,0,2.4,dir,0.6,0,0,BLUE04);
  89. FireShot(1);
  90. CreateShotA(2,GetX,GetY,0);
  91. SetShotDataA(2,0,2.4,dir,-0.6,0,0,BLUE04);
  92. FireShot(2);
  93. dir+=20;
  94. }
  95. dir = 0;
  96. wait(35);}
  97. }}
  98. task fireb{
  99. wait(120);
  100. loop{
  101. CreateShot01(GetX,GetY,7,GetAngleToPlayer+315,GREEN21,0);
  102. CreateShot01(GetX,GetY,7,GetAngleToPlayer+305,GREEN21,0);
  103. CreateShot01(GetX,GetY,7,GetAngleToPlayer+295,GREEN21,0);
  104. CreateShot01(GetX,GetY,7,GetAngleToPlayer+285,GREEN21,0);
  105. CreateShot01(GetX,GetY,7,GetAngleToPlayer+275,GREEN21,0);
  106. CreateShot01(GetX,GetY,7,GetAngleToPlayer+265,GREEN21,0);
  107. CreateShot01(GetX,GetY,7,GetAngleToPlayer+255,GREEN21,0);
  108. CreateShot01(GetX,GetY,7,GetAngleToPlayer+245,RED21,0);
  109. CreateShot01(GetX,GetY,7,GetAngleToPlayer+235,RED21,0);
  110. CreateShot01(GetX,GetY,7,GetAngleToPlayer+225,RED21,0);
  111. CreateShot01(GetX,GetY,7,GetAngleToPlayer+215,RED21,0);
  112. CreateShot01(GetX,GetY,7,GetAngleToPlayer+205,RED21,0);
  113. CreateShot01(GetX,GetY,7,GetAngleToPlayer+195,RED21,0);
  114. CreateShot01(GetX,GetY,7,GetAngleToPlayer+185,RED21,0);
  115. CreateShot01(GetX,GetY,7,GetAngleToPlayer+175,YELLOW21,0);
  116. CreateShot01(GetX,GetY,7,GetAngleToPlayer+165,YELLOW21,0);
  117. CreateShot01(GetX,GetY,7,GetAngleToPlayer+155,YELLOW21,0);
  118. CreateShot01(GetX,GetY,7,GetAngleToPlayer+145,YELLOW21,0);
  119. CreateShot01(GetX,GetY,7,GetAngleToPlayer+135,YELLOW21,0);
  120. CreateShot01(GetX,GetY,7,GetAngleToPlayer+125,YELLOW21,0);
  121. CreateShot01(GetX,GetY,7,GetAngleToPlayer+115,YELLOW21,0);
  122. CreateShot01(GetX,GetY,7,GetAngleToPlayer+105,BLUE21,0);
  123. CreateShot01(GetX,GetY,7,GetAngleToPlayer+95,BLUE21,0);
  124. CreateShot01(GetX,GetY,7,GetAngleToPlayer+85,BLUE21,0);
  125. CreateShot01(GetX,GetY,7,GetAngleToPlayer+75,BLUE21,0);
  126. CreateShot01(GetX,GetY,7,GetAngleToPlayer+65,BLUE21,0);
  127. CreateShot01(GetX,GetY,7,GetAngleToPlayer+55,BLUE21,0);
  128. CreateShot01(GetX,GetY,7,GetAngleToPlayer+45,BLUE21,0);
  129. wait(1);
  130. yield;}}
  131. task fireb2{
  132. loop{
  133. CreateShot01(GetX,GetY,7,GetAngleToPlayer+41,ORANGE21,0);
  134. CreateShot01(GetX,GetY,7,GetAngleToPlayer-41,ORANGE21,0);
  135. CreateShot01(GetX,GetY,7,GetAngleToPlayer+37,ORANGE21,10);
  136. CreateShot01(GetX,GetY,7,GetAngleToPlayer-37,ORANGE21,10);
  137. CreateShot01(GetX,GetY,7,GetAngleToPlayer+33,ORANGE21,20);
  138. CreateShot01(GetX,GetY,7,GetAngleToPlayer-33,ORANGE21,20);
  139. wait(1);
  140. yield;}}
  141. task fireb3{
  142. loop{
  143. CreateShot01(GetX,GetY,7,GetAngleToPlayer+30,PURPLE21,0);
  144. CreateShot01(GetX,GetY,7,GetAngleToPlayer-30,PURPLE21,0);
  145. CreateShot01(GetX,GetY,7,GetAngleToPlayer+27,PURPLE21,10);
  146. CreateShot01(GetX,GetY,7,GetAngleToPlayer-27,PURPLE21,10);
  147. CreateShot01(GetX,GetY,7,GetAngleToPlayer+24,PURPLE21,20);
  148. CreateShot01(GetX,GetY,7,GetAngleToPlayer-24,PURPLE21,20);
  149. wait(1);
  150. yield;}}
  151. task firec{
  152. let angle = 0;
  153. let angle2 = 0;
  154. wait(4000);
  155. loop{
  156. ascent(i in 0..4){
  157. CreateShot01(GetCenterX, GetCenterY, 3, angle+i*90, GREEN04,0);
  158. CreateShot01(GetCenterX, GetCenterY, 3, angle2+i*90, GREEN04,0);
  159. }
  160. angle+=10;
  161. angle2-=10;
  162. wait(16);
  163. yield;}}
  164. task fired{
  165. let dir = 0;
  166. wait(120);
  167. loop{
  168. loop(8){
  169. CreateShotA(1,GetPlayerX+100*cos(dir),GetPlayerY+100*sin(dir),20);
  170. SetShotDataA(1,0,0,dir,0,0,0,GREEN01);
  171. SetShotDataA(1,60,2,90,0,0,2,AQUA01);
  172. FireShot(1);
  173. dir+=45;
  174. }
  175. dir = 0;
  176. wait(40);
  177. yield;}}
  178. task firee{
  179. wait(120);
  180. loop{
  181. loop(10){CreateShot01(rand(GetClipMaxX,GetClipMinX),GetCenterY,3,270,GREEN01,30);}
  182. wait(1);
  183. yield;}
  184. }
  185. task firef{
  186. let ang = 0;
  187. let ang2 = 0;
  188. wait(4060);
  189. loop{
  190. loop(16){
  191. CreateShotA(1,GetPlayerX+100*cos(ang),GetPlayerY+100*sin(ang),20);
  192. SetShotDataA(1,0,3,ang,0,0,0,GREEN05);
  193. FireShot(1);
  194. CreateShotA(2,GetPlayerX+100*cos(ang2),GetPlayerY+100*sin(ang2),20);
  195. SetShotDataA(2,0,3,ang2,0,0,0,GREEN05);
  196. FireShot(2);
  197. ang += 22.5;
  198. ang2 += 22.5;
  199. }
  200. ang += 1;
  201. ang2 -= 1;
  202. wait(2); yield;
  203. }}
  204. function wait(w){loop(w){yield;}}
  205. }
Advertisement
Add Comment
Please, Sign In to add comment