SHARE
TWEET

Asura + Ninja

a guest Nov 19th, 2019 92 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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;
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top