SilentSorrow

Trial...

Jan 6th, 2014
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.86 KB | None | 0 0
  1. #TouhouDanmakufu
  2. #Title[Yuyuko Encounter Spell-4]
  3. #Text[4th Spell Card of Yuyuko]
  4. #Player[FREE]
  5. #ScriptVersion[2]
  6.  
  7. script_enemy_main{
  8. #include_function ".\function_cutin.txt"
  9. #include_function ".\System\variables.txt"
  10. #include_function ".\System\functions.txt"
  11. #include_function ".\Animations\YuyukoAnimationLibrary.txt";
  12.  
  13.  
  14. @Initialize{
  15. LoadGraphic(yuyutex);
  16. LoadGraphic(yuyukobg1);
  17. LoadGraphic(yuyucut);
  18. LoadGraphic(saigyouLay);
  19. LoadUserShotData(shots);
  20. SetScore(10000000);
  21. SetLife(4500);
  22. SetTimer(74);
  23. SetDamageRate(80,65);
  24. SetMovePosition01(GetCenterX,GetCenterY-150,3);
  25. SetInvincibility(120);
  26. cutin("NAZRIN","Flight Immersion "\""Macro Burst"\",yuyucut,0,0,400,400);
  27. mainTask;
  28. InitBoss;
  29. }
  30.  
  31.  
  32. @MainLoop{
  33. SetCollisionA(GetX,GetY,20);
  34. SetCollisionB(GetX,GetY,15);
  35. yield;
  36. }
  37.  
  38.  
  39. @DrawLoop{
  40. SetTexture(yuyutex);
  41. SetGraphicAngle(0,0,0);
  42. SetRenderState(ALPHA);
  43. SetAlpha(255);
  44. SetGraphicScale(1,1);
  45. YuyuAnimations;
  46. DrawGraphic(GetX,GetY+5*sin(float));
  47. }
  48.  
  49.  
  50. @BackGround{
  51. BgVScroll(yuyukobg1,2,225);
  52. BgLay(saigyouLay,220);
  53. }
  54.  
  55.  
  56. @Finalize{
  57. PlaySE(death);
  58. DeleteGraphic(yuyutex);
  59. Explosion01(GetX,GetY,220,1,60);
  60. DeleteEnemyShotToItem(ALL);
  61. if(GotSpellCardBonus==false){
  62. loop(15){
  63. CreateItem(ITEM_SCORE,GetX()+rand(-30,30),GetY()+rand(-30,30));
  64. }
  65. }
  66.  
  67. if(GotSpellCardBonus==true){
  68. loop(20){
  69. CreateItem(ITEM_SCORE,GetX()+rand(-30,30),GetY()+rand(-30,30));
  70. }
  71. }
  72.  
  73. }
  74.  
  75.  
  76. task mainTask{
  77. wait(90);
  78. action;
  79. yield;
  80. }
  81.  
  82. task action{
  83. loop{
  84. loop(1){
  85. attack = 1;
  86. attackNow;
  87. attack = 0;
  88. movement;
  89. }
  90. wait(120);
  91. yield;
  92. }
  93.  
  94. task attackNow{
  95. fire1;
  96. fireBurst1;
  97. fireBurst2;
  98. yield;
  99. }
  100. }
  101.  
  102. task fireBurst1{
  103. let x = 0;
  104. let dir = 0;
  105. let c = 12;
  106. wait(120);
  107. loop{
  108. while(x<c){
  109. CreateShotA(1,GetX,GetY,5);
  110. SetShotDataA(1,0,6,dir+GetAngleToPlayer,0,-0.12,1,233);
  111. FireShot(1);
  112.  
  113. CreateShotA(2,GetX,GetY,5);
  114. SetShotDataA(2,0,3,dir+GetAngleToPlayer+((360/c)/2),0,-0.06,1,214);
  115. FireShot(2);
  116.  
  117. dir+=360/c;
  118. x++;
  119. }
  120. x=0;
  121. wait(120);
  122.  
  123. }
  124. }
  125.  
  126. task fireBurst2{
  127. let x = 0;
  128. let a = 30;
  129. let dir = 0;
  130. wait(360);
  131. loop{
  132. while(x<a){
  133. CreateShot01(GetCenterX,GetCenterY,0.8,dir+GetAngleToPlayer,152,10);
  134. dir+=360/a;
  135. x++;
  136. }
  137. x = 0;
  138. wait(120);
  139. }
  140. }
  141.  
  142. task fire1{
  143. let b = 1;
  144. loop{
  145. let a = 180*b+rand(-10,10);
  146. loop([3,5,6,9][2]){
  147. ascent(i in 0..1){
  148. let v = 3+i/4;
  149. CreateShotA(0, GetX, GetY, 10);
  150. SetShotDataA(0, 0, 4, a, 0, -1/15, 0, 12);
  151. SetShotDirectionType(PLAYER);
  152. SetShotDataA(0, 60, 0, 0, 0, v/30, v, NULL);
  153. SetShotDirectionType(ABSOLUTE);
  154. FireShot(0);
  155. }
  156. wait(5);
  157. a+=27*b;
  158. }
  159. wait(120);
  160. yield;
  161. }
  162. b*=-1;
  163. }
  164. }
Advertisement
Add Comment
Please, Sign In to add comment