Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.95 KB | None | 0 0
  1. �サソ waken <- false;
  2. interval <- 0;
  3. function setup(){
  4. setNearDistance(4.0); // 霑題キ晞屬
  5. setFarDistance(15.0); // 驕�霍晞屬
  6. setFirstMode(modeWatchOut);
  7. }
  8.  
  9. function modeWatchOut(){
  10. if( waken){
  11. turn(); // 荳�蠎ヲ隕夐�偵@縺溘Δ繝ウ繧ケ繧ソ繝シ縺ッ谺。縺九i縺ッ縺薙%繧帝�壹k縲�
  12. }else{
  13. watchOut(rndi(5)%3);
  14. }
  15. waken = true; // 縺薙%縺ァ隕夐��
  16. changeMode(modeFirst);
  17. }
  18.  
  19. function modeFirst(){
  20. setIntervalTime()
  21. local mode = 0;
  22. if(getHPP() < 0.5)
  23. mode = 1;
  24.  
  25. // 霑代>
  26. if( checkNear(getShortRange()) ){
  27. useSkill_s(mode);
  28. // 驕�縺�
  29. }else if( checkNear(getLongRange()) ){
  30. useSkill_l(mode)
  31. }else{
  32. useSkill_ll(mode);
  33. }
  34.  
  35. local _time = rndir(interval / 2,interval);
  36. if( checkNear(getShortRange())){
  37. if(rndb(0.333))
  38. useSkill("s_step_b"); // 繝舌ャ繧ッ繧ケ繝�繝�繝�
  39. else
  40. useStepAttack(mode);
  41. // sleepAI(_time);
  42. }else if( checkNear(getLongRange()) ){
  43. spacing({near=getShortRange(),far=getLongRange(),run=true});
  44. waitAttackInterrupt(nearOrInTimeChecker(getShortRange(), _time));
  45. }else if(rndb(0.5)){
  46. spacing({near=getShortRange(),far=getLongRange(),run=true});
  47. waitAttackInterrupt(nearOrInTimeChecker(getShortRange(), _time));
  48. }else{
  49. while(!checkNear(getShortRange())){
  50. turn();
  51. useSkill("s_step_f");// 繝輔Ο繝ウ繝医せ繝�繝�繝�
  52. }
  53. }
  54. turn();
  55. }
  56.  
  57. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
  58. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
  59. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
  60.  
  61. /**
  62. * 霑題キ晞屬謾サ謦�
  63. */
  64. function useSkill_s(mode = 0){
  65. if( rndb(0.25) ){
  66. turn();
  67. switch(mode){
  68. case 0:useSkill("s_diving1");break;
  69. case 1:useSkill("s_attr_diving1");break;
  70. }
  71. return;
  72. }
  73. combo(mode);
  74. }
  75.  
  76. /**
  77. * 驕�霍晞屬謾サ謦�
  78. */
  79. function useSkill_l(mode = 0){
  80. turn();
  81. if( checkNear(getLongRange()) && rndb()){
  82. switch(mode){
  83. case 0:useSkill("s_diving2");break;
  84. case 1:useSkill("s_attr_diving2");break;
  85. }
  86. return;
  87. }
  88. useStepAttack(mode);
  89. }
  90.  
  91. /**
  92. * 驕�驕�霍晞屬謾サ謦�
  93. */
  94. function useSkill_ll(mode = 0){
  95. turn();
  96. switch(mode){
  97. case 0:useSkill("s_diving3");break;
  98. case 1:useSkill("s_attr_diving3");break;
  99. }
  100. }
  101.  
  102. /**
  103. *
  104. */
  105. function useStepAttack(mode){
  106. // 遘サ蜍輔→謾サ謦�縺ァ繝壹い
  107. turn();
  108. local i = rndi(3) + 3
  109.  
  110. if(rndb())
  111. useSkill("s_step_r");
  112. else
  113. useSkill("s_step_l");
  114. turn();
  115.  
  116. while(i--){
  117. if(checkNear(getShortRange()))
  118. break;
  119. if(rndb()){
  120. addDir(-0.4);
  121. useSkill("s_step_r");
  122. }else{
  123. addDir( 0.4);
  124. useSkill("s_step_l");
  125. }
  126. if(checkNear(getShortRange()))
  127. break;
  128. turn();
  129. }
  130.  
  131. turn();
  132. // finish
  133. useSkill("s1_tear_fin1");
  134.  
  135. }
  136.  
  137. /**
  138. * 繧ウ繝ウ繝�
  139. * @param combo int 繧ウ繝ウ繝懃カ咏カ壼屓謨ー
  140. */
  141. function combo(mode){
  142.  
  143. local _combo = rndi(3)
  144.  
  145. while(_combo--){
  146. if(!isTargetToHead() && checkNear(getShortRange()))
  147. break;
  148. useSkill("s1_tear2");
  149.  
  150. if(!isTargetToHead() && checkNear(getShortRange()))
  151. break;
  152. useSkill("s1_tear1");
  153. }
  154. if(isTargetToHead() && checkNear(getShortRange()))
  155. useSkill("s1_tear_fin1");
  156.  
  157. }
  158.  
  159. /**
  160. * 繝代Ρ繝シ繧「繝�繝�
  161. * @param mode int 繝「繝シ繝�
  162. */
  163. function powerUp(mode=0){
  164. if( !checkCT("s0_roar") ){
  165. turn();
  166. switch(mode){
  167. case 0: return;;
  168. case 1: useSkill("s0_roar"); setCT({name="s0_roar", ct=45000}); break;
  169. }
  170. }
  171. }
  172.  
  173. function setIntervalTime(){
  174. switch(getDifficulty()){
  175. case 0:interval = ( 700 + getHPP() * 3000).tointeger();break;
  176. case 1:interval = ( 600 + getHPP() * 2000).tointeger();break;
  177. case 2:
  178. default:interval = ( 500 + getHPP() * 1000).tointeger();break;
  179. }
  180. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement