Advertisement
Guest User

s

a guest
Jul 24th, 2013
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.00 KB | None | 0 0
  1. #TouhouDanmakufu
  2. #Title[Spell]
  3. #Text[An attempt at making a spell]
  4. #Player[.\..\Futo\FUTOA.txt]
  5. #PlayLevel[Normal]
  6. #ScriptVersion[2]
  7. #PlayLevel[Normal]
  8.  
  9. script_enemy_main{
  10.  
  11. let D = GetCurrentScriptDirectory;
  12.  
  13. let imgBoss = D ~ "system\chen.png";
  14. let cut = D ~ "system\cutin.png";
  15. let shot = D ~ "supershot.txt";
  16. let bg = D ~ "system\bg 3.png";
  17.  
  18. let s1 = D ~ "sfx\Shot.wav";
  19. let s2 = D ~ "sfx\Power0.wav";
  20. let s3 = D ~ "sfx\Shot 2.wav";
  21. let slide = 0;
  22. let slide2 = 0;
  23.  
  24.  
  25. CutIn(YOUMU,"ugyk - 8ougy -",cut,0,0,127,451);
  26.  
  27.  
  28. @Initialize{
  29. SetLife(2500);
  30. SetTimer(30);
  31. SetScore(100000);
  32. LoadGraphic(bg);
  33. LoadGraphic(imgBoss);
  34. LoadUserShotData(shot);
  35. LoadSE(s1);
  36. LoadSE(s2);
  37. LoadSE(s3);
  38. fire;
  39. fireb;
  40. movement;
  41. }
  42.  
  43. @MainLoop{
  44. SetCollisionA(GetX,GetY,32);
  45. SetCollisionB(GetX,GetY,16);
  46. yield;
  47. }
  48.  
  49. @DrawLoop{
  50. SetTexture(imgBoss);
  51. SetRenderState(ALPHA);
  52. SetAlpha(255);
  53. SetGraphicRect(0,0,51,69);
  54. SetGraphicScale(1,1);
  55. SetGraphicAngle(0,0,0);
  56. DrawGraphic(GetX,GetY);
  57. }
  58.  
  59.  
  60. @BackGround{
  61.  
  62. SetTexture(bg);
  63.  
  64. SetRenderState(ALPHA);
  65.  
  66. SetAlpha(255);
  67.  
  68. SetGraphicRect(0,0,20000,20000);
  69.  
  70. SetGraphicScale(1,1);
  71.  
  72. SetGraphicAngle(0,0,0);
  73.  
  74. DrawGraphic(GetCenterX-slide2,GetCenterY+slide);
  75. slide+=2;
  76. slide2-=1;
  77. }
  78.  
  79.  
  80. @Finalize{DeleteSE(s1); DeleteSE(s2); DeleteSE(s3);
  81. DeleteGraphic(imgBoss);
  82. loop(10){CreateItem(ITEM_SCORE,GetX+rand(-150,150),GetY+rand(50,200));}
  83. }
  84. task movement{
  85. SetMovePosition01(GetCenterX,GetCenterY-100,5);
  86. }
  87.  
  88. task fire{
  89. loop{
  90. wait(60);
  91. loop(2){
  92. let thing = 1.5;
  93. let dir = GetAngleToPlayer+4;
  94. let dir2 = GetAngleToPlayer-4;
  95. let delay2 = 4;
  96. loop(5){
  97. loop(4){
  98. loop(6){
  99. b2(GetX,GetY,thing,dir,GREEN01,delay2);
  100. b2(GetX,GetY,thing,dir2,GREEN01,delay2);
  101. dir+=8; dir2-=8; delay2+=8;}
  102. delay2 = 4;
  103. dir += 42;
  104. dir2 += 138;}
  105. PlaySE(s1);
  106. dir = GetAngleToPlayer+4;
  107. dir2 = GetAngleToPlayer-4;
  108. thing+=0.5;}
  109. wait(150);
  110. }
  111. loop(16){
  112. let thing = 1.5;
  113. let dir = GetAngleToPlayer+4;
  114. let dir2 = GetAngleToPlayer-4;
  115. let delay2 = 4;
  116. loop(5){
  117. loop(4){
  118. loop(6){
  119. b2(GetX,GetY,thing,dir,GREEN01,delay2);
  120. b2(GetX,GetY,thing,dir2,GREEN01,delay2);
  121. dir+=8; dir2-=8; delay2+=8;}
  122. delay2 = 4;
  123. dir += 42;
  124. dir2 += 138;}
  125. PlaySE(s1);
  126. dir = GetAngleToPlayer+4;
  127. dir2 = GetAngleToPlayer-4;
  128. thing+=0.5;}
  129. wait(1);
  130. }
  131. wait(60);
  132. }
  133. }
  134.  
  135. task fireb{
  136. loop{
  137. wait(60);
  138. loop(2){
  139. let thing = 1.5;
  140. let dir = GetAngleToPlayer;
  141. let dir2 = GetAngleToPlayer;
  142. let delay2 = 0;
  143. loop(5){
  144. loop(4){
  145. loop(6){
  146. b(GetX,GetY,thing,dir,BLUE01,delay2);
  147. b(GetX,GetY,thing,dir2,BLUE01,delay2);
  148. dir+=8; dir2-=8; delay2+=8;}
  149. delay2 = 0;
  150. dir += 42;
  151. dir2 += 138;}
  152. PlaySE(s1);
  153. dir = GetAngleToPlayer;
  154. dir2 = GetAngleToPlayer;
  155. thing+=0.5;}
  156. wait(150);
  157.  
  158. }
  159. loop(16){
  160. let thing = 1.5;
  161. let dir = GetAngleToPlayer;
  162. let dir2 = GetAngleToPlayer;
  163. let delay2 = 0;
  164. loop(5){
  165. loop(4){
  166. loop(6){
  167. b(GetX,GetY,thing,dir,BLUE01,delay2);
  168. b(GetX,GetY,thing,dir2,BLUE01,delay2);
  169. dir+=8; dir2-=8; delay2+=8;}
  170. delay2 = 0;
  171. dir += 42;
  172. dir2 += 138;}
  173. PlaySE(s1);
  174. dir = GetAngleToPlayer;
  175. dir2 = GetAngleToPlayer;
  176. thing+=0.5;}
  177. wait(1);
  178.  
  179. }
  180. wait(60);
  181. }
  182. }
  183. task b(x,y,v,dir,graphic,delay){
  184. let obj=Obj_Create(OBJ_SHOT);
  185. Obj_SetPosition(obj,x,y);
  186. Obj_SetSpeed(obj,v);
  187. Obj_SetAngle(obj,dir);
  188. ObjShot_SetGraphic(obj,graphic);
  189. ObjShot_SetDelay(obj,delay);
  190. ObjShot_SetBombResist(obj, true);
  191. while(!Obj_BeDeleted(obj)){
  192. yield;
  193. }
  194. }
  195.  
  196. task b2(x,y,v,dir,graphic,delay){
  197. let obj=Obj_Create(OBJ_SHOT);
  198. Obj_SetPosition(obj,x,y);
  199. Obj_SetSpeed(obj,v);
  200. Obj_SetAngle(obj,dir);
  201. ObjShot_SetGraphic(obj,graphic);
  202. ObjShot_SetDelay(obj,delay);
  203. ObjShot_SetBombResist(obj, true);
  204. while(!Obj_BeDeleted(obj)){
  205. wait(60);
  206. Obj_SetSpeed(obj,0);
  207. wait(60);
  208. Obj_SetSpeed(obj,3);
  209. wait(1200);
  210. yield;
  211. }
  212. }
  213.  
  214.  
  215. function wait(w){loop(w){yield;}}
  216. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement