Advertisement
Guest User

Asura + Ninja

a guest
Nov 19th, 2019
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. #ifndef RENEWAL
  2. case NJ_ISSEN:
  3. status_change_end(src, SC_NEN, INVALID_TIMER);
  4. status_change_end(src, SC_HIDING, INVALID_TIMER);
  5. #endif
  6. // fall through
  7. case MO_EXTREMITYFIST:
  8. {
  9. //short x, y, i = 2; // Move 2 cells for Issen(from target)
  10. struct block_list *mbl = bl;
  11. short dir = 0;
  12.  
  13. skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
  14.  
  15. if( skill_id == MO_EXTREMITYFIST )
  16. {
  17. mbl = src;
  18. status_set_sp(src, 0, 0);
  19. status_change_end(src, SC_EXPLOSIONSPIRITS, INVALID_TIMER);
  20. status_change_end(src, SC_BLADESTOP, INVALID_TIMER);
  21. #ifdef RENEWAL
  22. sc_start(src,src,SC_EXTREMITYFIST2,100,skill_lv,skill_get_time(skill_id,skill_lv));
  23. #endif
  24. }else
  25. status_set_hp(src,
  26. #ifdef RENEWAL
  27. max(status_get_max_hp(src)/100, 1)
  28. #else
  29. 1
  30. #endif
  31. , 0);
  32. }
  33. //Client expects you to move to target regardless of distance
  34. {
  35. struct unit_data *ud = unit_bl2ud(src);
  36. short dx,dy;
  37. int i,speed;
  38. i = skill_id == MO_EXTREMITYFIST?1:2; //Move 2 cells for Issen, 1 for Asura
  39. dx = bl->x - src->x;
  40. dy = bl->y - src->y;
  41. if (dx < 0) dx-=i;
  42. else if (dx > 0) dx+=i;
  43. if (dy < 0) dy-=i;
  44. else if (dy > 0) dy+=i;
  45. if (!dx && !dy) dy++;
  46. if (map_getcell(src->m, src->x+dx, src->y+dy, CELL_CHKNOPASS))
  47. {
  48. dx = bl->x;
  49. dy = bl->y;
  50. } else {
  51. dx = src->x + dx;
  52. dy = src->y + dy;
  53. }
  54.  
  55. if(unit_walktoxy(src, dx, dy, 2) && ud) {
  56. //Increase can't walk delay to not alter your walk path
  57. ud->canmove_tick = tick;
  58. speed = status_get_speed(src);
  59. for (i = 0; i < ud->walkpath.path_len; i ++)
  60. {
  61. if(ud->walkpath.path[i]&1)
  62. ud->canmove_tick+=7*speed/5;
  63. else
  64. ud->canmove_tick+=speed;
  65. }
  66. }
  67. }
  68. // [Yuyu] - Asura Strike Japanese letters are enabled with free cast
  69. {
  70. if (sd && (sd->castrate == 0 || sd->status.dex >= 150))
  71. clif_specialeffect(src, 510, AREA);
  72. }
  73. break;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement