Об авто- и продолженных атакахЧасть вторая. АвтоатакиВ общем случае
процесс атаки состоит из 1)
перемещения отряда из его исходной позиции в позицию для атаки и собственно 2)
атаки выбранного отряда противника в заданном направлении. Как известно, положение и направление курсора при атаке однозначно определяют, какой отряд противника будет атакован, откуда он будет атакован и в каком направлении будет произведена атака. Иными словами, курсор при атаке однозначно определяет весь процесс атаки.
Однако в некоторых случаях курсор не учитывает ограничения, налагаемые игрой на позиции, с которых может выполняться атака. Одно из таких ограничений очевидно: атакующий отряд не может переместиться из исходной позиции в заданную курсором позицию для атаки, если она уже занята каким-нибудь отрядом или препятствием, т.к. на одном и том же гексе не может быть размещено более одного отряда или отряд и препятствие одновременно
Не менее очевидно и второе ограничение: позиция для атаки не может находиться за пределами боевой арены. А вот третье ограничение действительно вызывает недоумение: двугексовым летающим существам (грифонам, фениксам и драконам) при выполнении
обычной атаки запрещено вставать так, чтобы их "хвост" в новой позиции оказывался на гексе, занятом их "головой" в исходной позиции. Если игрок проигнорирует хотя бы одно из этих трёх ограничений, вместо
обычной атаки, которую игрок ожидает увидеть, будет выполнена
автоатака, результаты которой в общем случае будут отличаться от ожидаемых
Проще говоря, ИИ посчитает такую атаку нарушающей правила игры и выполнит вместо неё
автоатаку - одну из допустимых атак на своё усмотрение.
1. Cперва рассмотрим все нюансы
автоатак первого типа, т.е. атак, выполняемых ИИ, в случае когда игрок игнорирует третье ограничение:
двугексовым летающим существам (грифонам, фениксам и драконам) при выполнении обычной атаки запрещено вставать так, чтобы их "хвост" в новой позиции оказывался на гексе, занятом их "головой" в исходной позиции. Другими словами, при выполнении
обычной атаки грифоны, фениксы и драконы не могут сдвинуться только лишь на одну клетку вперёд (в направлении их взора), а вот отлететь на одну клетку назад (в противоположном направлении) - всегда пожалуйста! Следующие скриншоты демонстрируют типичные варианты, приводящие к выполнению автоатаки первого типа.
1.1. Сравним две практически идентичные ситуации, представленные на первом скриншоте:
В ситуации слева, согласно таблице 1 (см. часть первую статьи), в процессе атаки дракон из исходной позиции (A-B) перемещается в позицию для атаки (С-D) и выполняет продолженную атаку по отряду гоблинов, задевая также и отряд огров. В ситуации справа мы ожидаем от дракона того же: из исходной позиции (A-B) он должен переместиться в позицию B-C и выполнить продолженную атаку. Однако вместо этого мы наблюдаем, как дракон летит на одну клетку дальше, оказываясь в позиции C-D, с которой продолженная атака уже невозможна. Происходит это из-за того, что мы пытаемся поставить дракона в позицию B-C, так чтобы его хвост (B) в новой позиции (B-C) оказался на гексе, занятом его головой (B) в исходной позиции (A-B). ИИ считает недопустимой такую атаку и выполняет вместо неё автоатаку по умолчанию (в данном случае с позиции C-D).
Примечание: двугексовый пеший отряд (например, отряд всадников или единорогов) в обеих ситуациях бьёт, как и положено: в первом случае с позиции C-D, а во втором - с позиции В-С.
1.2. Аналогично, автоатакой заканчивается попытка выполнить продолженную атаку и в ситуации на следующем скриншоте:
Здесь мы ожидаем, что дракон переместится в позицию для атаки (B-C) и выполнит продолженную атаку, задев и гоблинов, и огров. Но вместо этого будет выполнена автоатака с позиции A-B, т.е. дракон ударит с места, задев только гоблинов. Окажись дракон хотя бы на один гекс левее, и оба отряда противника были бы атакованы.
Примечание: двугексовый пеший отряд в данной ситуации бьёт, как и положено: с позиции B-C.
1.3. С автоатаками первого типа приходится сталкиваться постоянно. Даже в самой обычной ситуации, показанной на скриншоте ниже, драконы "встают на свою голову":
Но, к счастью, в данном случае, а также во всех ему подобных, выполняемая автоатака полностью совпадает с тем, что мы хотим видеть: драконы летят вперёд на одну клетку и атакуют огров (для автоатак, в отличие от
обычных атак, не действует третье ограничение).
Такое поведение грифонов, фениксов и драконов вполне объяснимо: взлетая, они очень быстро набирают скорость и из-за большой инерции не могут вовремя "затормозить"
, поэтому либо не утруждают себя взлетать вовсе, как показано на втором скриншоте, либо пролетают как минимум две клетки, как показано на первом скриншоте. Когда же атакуемый отряд находится "на линии атаки", они пикируют, врезаясь в него, как показано на третьем скриншоте.
2. Теперь рассмотрим нюансы
автоатак второго типа, т.е. атак, выполняемых ИИ, в случае когда игрок игнорирует хотя бы одно из следующих ограничений:
1. Атакующий отряд не может переместиться из исходной позиции в заданную курсором позицию для атаки, если она уже занята каким-нибудь отрядом или препятствием.2. Позиция для атаки не может находиться за пределами боевой арены.Автоатаки второго типа встречаются гораздо реже автоатак первого типа и могут быть выполнены только в том случае, если двугексовый отряд игрока атакует двугексовый отряд противника, когда курсор направлен вертикально, и задаваемая им позиция для атаки нарушает хотя бы одно из вышеприведённых ограничений. Следующие скриншоты демонстрируют типичные варианты, приводящие к выполнению автоатаки второго типа.
2.1. Пусть в следующей ситуации дракон атакует отряд волков в направлении красной стрелки:
Позиция для атаки (6-X), задаваемая курсором согласно таблице 1 (см. часть первую статьи), находится за пределами боевой арены, поэтому в данном случае будет выполнена автоатака второго типа. ИИ предпочитает атаковать отряды так, чтобы расстояние между исходной позицией и позицией для атаки было минимальным. Учитывая, что координаты двугексовых существ обороняющейся стороны определяются правым гексом существа, дракон в данной ситуации ударит волков с позиции 1-2. Если дракон перед выполнением атаки в направлении, указанном красной стрелкой, находился бы в позиции A-B, автоатака была бы проведена с позиции 3-4, а если бы дракон стоял на гексах C-D, отряд волков был бы атакован с позиции 5-6. Как Вы успели заметить, выполнения автоатаки второго типа всегда можно избежать: если мы хотим атаковать отряд волков с позиции 5-6 независимо от исходной позиции дракона, нужно всего лишь правильно направить курсор: так, как показано на скриншоте оранжевой стрелкой.
2.2. В следующей ситуации также можно наблюдать автоатаку второго типа, если направить курсор так, как показано на скриншоте красной стрелкой.
В данном случае курсор задаёт недопустимую позицию для атаки X-1, т.к. гекс X занят отрядом огров, поэтому здесь также будет выполнена автоатака второго типа: дракон ударит волков с позиции 1-2. Почему не сверху, как в предыдущей ситуации? Дело в том, что ИИ при обнаружении недопустимой позиции для атаки сначала пытается "передвинуть" её на одну клетку вправо для отрядов нападающей стороны и влево - для отрядов защищающейся стороны. Если новая позиция окажется допустимой, автоатака будет выполнена именно с этой позиции. В данном случае позиция 1-2, полученная сдвигом позиции X-1 вправо на один гекс, является допустимой, и дракон атакует отряд волков именно с неё. Как видно, выполнения автоатаки можно избежать и здесь, направив курсор так, как показано на скриншоте оранжевой стрелкой.
2.3. А вот пример, когда автоатака второго типа завершается автоатакой первого типа:
Здесь курсор (красная стрелка) определяет недопустимую позицию для атаки: 2-X. Если сдвинуть эту позицию на один гекс вправо, она не перестанет быть недопустимой из-за отряда огров. Поэтому, как и в первом случае, дракон должен атаковать отряд волков с позиции A-B. Однако позиция A-B также является недопустимой: дракон не может "встать на свою голову" (см. третье ограничение), поэтому в данном случае, в итоге, будет выполнена автоатака первого типа: дракон ударит отряд волков с места.
2.4. Двугексовые
пешие отряды также могут совершать автоатаки второго типа. Правда, здесь, для того чтобы определить, с какой позиции будет проведена атака, нужно учитывать скорость атакующего отряда. Как и летающие отряды, пешие отряды предпочитают атаковать так, чтобы расстояние между исходной позицией и позицией для атаки было минимальным.
В данной ситуации кочевники не могут атаковать волков с позиции 2-X, т.к. эта позиция занята ограми, а из двух ближайших позиций для атаки (1-2 и 3-4) кочевники выберут позицию 3-4, т.к. расстояние от неё до исходной позиции кочевников равно 2 гекса, что меньше, чем расстояние от позиции 1-2 (3 гекса).
* * *
Вы можете легко проверить следующее утверждение:
если вертикальный курсор можно направить на какой-либо один гекс двугексового отряда, то его также можно направить и на другой гекс этого отряда. Поэтому если Вам действительно нужно атаковать отряд противника при вертикальном направлении курсора, проследите за тем, чтобы курсор указывал на правильный гекс, т.е. чтобы задаваемая им позиция для атаки была свободна и не выходила за пределы боевой арены.
Спасибо за внимание!