I dont think its a bug?
Have you checked this?
case MO_EXTREMITYFIST:
{
struct block_list *mbl = bl; // For NJ_ISSEN
short x, y, i = 2; // Move 2 cells (From target)
short dir = map_calc_dir(src,bl->x,bl->y);
skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
if (skill_id == MO_EXTREMITYFIST) {
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, 1, 0);
status_change_end(src, SC_NEN, INVALID_TIMER);
status_change_end(src, SC_HIDING, INVALID_TIMER);
}
if (skill_id == MO_EXTREMITYFIST) {
mbl = src; // For MO_EXTREMITYFIST
i = 3; // Move 3 cells (From caster)
}
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;
// Ashura Strike still has slide effect in GVG
if ((mbl == src || (!map_flag_gvg2(src->m) && !map_getmapflag(src->m, MF_BATTLEGROUND))) &&
unit_movepos(src, mbl->x + x, mbl->y + y, 1, 1)) {
clif_blown(src);
clif_spiritball(src);
}
}
break;