MailRuChamps / raic-2020

GNU General Public License v3.0
26 stars 27 forks source link

Приоритет действий ломается между move+breakThrough и repair/build #116

Open Altaire13 opened 3 years ago

Altaire13 commented 3 years ago

Из правил:

Действие состоит из действий атаки, постройки, ремонта и перемещения, которые имеют приоритет в данном порядке. То есть, если вы укажете несколько действий, только первое из возможных будет выполнено.

Пусть строитель стоит рядом со зданием, которое должен починить и у него указаны действия движения (с флагом breakThrough) и ремонта (и не указано действие атаки). В этом случае ожидаемое поведение (в любом контексте) -- выполнение ремонта.

Но есть следующий случай. Рядом со строителем находится клетка ресурса. Поиск пути для движения выдал первым шагом -- движение в сторону ресурса. В таком случае на данном шаге строитель атакует ресурс и не выполняет ремонт.

В моем случае в качестве клетки для движения была указана другая клетка ремонтируемого здания -- строителю было необходимо развернуться, пройти через клетку ресурса и подойти с другой стороны, чтобы оказаться рядом с целевой клеткой. Но из указанного в правилах приоритета действий я ожидал, что будет выполнен ремонт и действие перемещения не будет рассматриваться.