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;
i = 3; // for Asura(from caster)
status->set_sp(src, 0, 0);
status_change_end(src, SC_EXPLOSIONSPIRITS, INVALID_TIMER);
status_change_end(src, SC_BLADESTOP, INVALID_TIMER);
#if VERSION == 1
sc_start(src, src,SC_EXTREMITYFIST2,100,skill_lv,skill_get_time(skill_id,skill_lv));
#endif
}else{
status_change_end(src, SC_NJ_NEN, INVALID_TIMER);
status_change_end(src, SC_HIDING, INVALID_TIMER);
#if VERSION == 1
status->set_hp(src, max(status_get_max_hp(src) / 100, 1), 0);
#else
status->set_hp(src, 1, 0);
#endif
}
dir = map->calc_dir(src,bl->x,bl->y);
if(dir > 0 && dir < 4) x = -i;
else if(dir > 4) x = i;
else x = 0;
if(dir > 2 && dir < 6) y = -i;
else if(dir == 7 || dir < 2) y = i;
else y = 0;
if((mbl == src || (!map_flag_gvg2(src->m) && !map->list[src->m].flag.battleground)) && // only NJ_ISSEN don't have slide effect in GVG
unit_movepos(src, mbl->x+x, mbl->y+y, 1, 1)) {
clif_slide(src, src->x, src->y);
clif_fixpos(src);
clif_spiritball(src);
}
}
break;