case MO_EXTREMITYFIST: if( skillid == MO_EXTREMITYFIST ) { status_change_end(src, SC_EXPLOSIONSPIRITS, INVALID_TIMER); status_change_end(src, SC_BLADESTOP, INVALID_TIMER); } //Client expects you to move to target regardless of distance { struct unit_data *ud = unit_bl2ud(src); short dx,dy; int i,speed; if(ud) { dx = dirx[ud->dir]*2; dy = diry[ud->dir]*2; } if (map_getcell(src->m, src->x+dx, src->y+dy, CELL_CHKNOPASS)) { dx = src->x; dy = src->y; } else { dx = src->x + dx; dy = src->y + dy; } skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag); 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; } } } break;