Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef RENEWAL
- case NJ_ISSEN:
- status_change_end(src, SC_NEN, INVALID_TIMER);
- status_change_end(src, SC_HIDING, INVALID_TIMER);
- #endif
- // fall through
- case MO_EXTREMITYFIST:
- {
- //short x, y, i = 2; // Move 2 cells for Issen(from target)
- struct block_list *mbl = bl;
- short dir = 0;
- skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
- if( skill_id == MO_EXTREMITYFIST )
- {
- mbl = src;
- status_set_sp(src, 0, 0);
- status_change_end(src, SC_EXPLOSIONSPIRITS, INVALID_TIMER);
- status_change_end(src, SC_BLADESTOP, INVALID_TIMER);
- #ifdef RENEWAL
- sc_start(src,src,SC_EXTREMITYFIST2,100,skill_lv,skill_get_time(skill_id,skill_lv));
- #endif
- }else
- status_set_hp(src,
- #ifdef RENEWAL
- max(status_get_max_hp(src)/100, 1)
- #else
- 1
- #endif
- , 0);
- }
- //Client expects you to move to target regardless of distance
- {
- struct unit_data *ud = unit_bl2ud(src);
- short dx,dy;
- int i,speed;
- i = skill_id == MO_EXTREMITYFIST?1:2; //Move 2 cells for Issen, 1 for Asura
- dx = bl->x - src->x;
- dy = bl->y - src->y;
- if (dx < 0) dx-=i;
- else if (dx > 0) dx+=i;
- if (dy < 0) dy-=i;
- else if (dy > 0) dy+=i;
- if (!dx && !dy) dy++;
- if (map_getcell(src->m, src->x+dx, src->y+dy, CELL_CHKNOPASS))
- {
- dx = bl->x;
- dy = bl->y;
- } else {
- dx = src->x + dx;
- dy = src->y + dy;
- }
- if(unit_walktoxy(src, dx, dy, 2) && ud) {
- //Increase can't walk delay to not alter your walk path
- ud->canmove_tick = tick;
- speed = status_get_speed(src);
- for (i = 0; i < ud->walkpath.path_len; i ++)
- {
- if(ud->walkpath.path[i]&1)
- ud->canmove_tick+=7*speed/5;
- else
- ud->canmove_tick+=speed;
- }
- }
- }
- // [Yuyu] - Asura Strike Japanese letters are enabled with free cast
- {
- if (sd && (sd->castrate == 0 || sd->status.dex >= 150))
- clif_specialeffect(src, 510, AREA);
- }
- break;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement