Shorter programming day today as we have month-end bookkeeping stuff to do, but there was some progress. Thread spinning no longer gobbles up entire stacks of wool. Animal traps will no longer be baited with entire stacks of food. Custom reactions should respect raw material (globs/bars/etc.) amounts now (thanks for spotting the problem, ag), though reactions that use a small amount of a raw material will still use at least one from a stack (unless there are other ingredients to use or it is the lone reagent, then it'll multiply it up). Reactions will also trim away pieces of bodies properly. All jobs that affect body components (anything that uses bone, for example) will now carve away pieces of the body component, which'll leave a "partially butchered" wound type on the limbs etc. that were used in jobs if the skeleton is animated. Leather from skins is still not computed according to size, though -- that's a slightly more difficult problem since they use a custom product tag for tanning.
Добавил шкафы для ящиков. Теперь дварфы могут брать только то, зачем пришли. Теперь несколько предметов можно объединять в стак. Поправил алгоритм поиска пути. Дварфы больше не будут бежать в самый дальний угол крепости, если необходимый предмет лежит рядом...
Более короткий день в плане программирования сегодня, конец месяца и надо подводить итоги, и у нас определенный прогресс. Прядение нити больше не пожирает целый стак шерсти. В ловушки для зверей больше не будут класть целый стак еды для приманки. Специальные реакции теперь должны учитывать количество сырья (слитки, шары и т.д.), хотя реакции, использующие небольшое количество сырого материала все еще будут использовать хотя бы один из стака (если есть другие ингредиенты для использования или единичный реагент, то их количество затем умножиться). Реакции теперь правильно отрезают части тел. Все работы, связанные с компонентами тел (все, что использует кости, например) теперь будут вырезать нужный для работы компонент тела, который будет оставлять "частично разделанный" тип ран на конечностях, использованных в работе, если скелет оживлен. Кожа из шкур все еще не рассчитывается соответственно размеру, хотя это более сложная проблема, по сравнению с использованием разных тэгов продукта для выделки.