Бесконтрольное веселье, или как сломать Ликана

Про морфы и их фишки я писал не однократно — см. Трансформации и Доджинг. Но один из багов, связанный с ними, достоин отдельного упоминания в данном разделе. Это баг псевдоконтроля — состояние, когда юнит выполняет приказ до конца, и только после этого способен идти выполнять новые приказы. В версии 6.83 фрог наглядно демонстрирует этот баг при помощи  Lycan.


Суть бага

Разные морфы ведут себя по-разному — все подробности описаны в топике "Трансформации". Нам важно знать два аспекта, актуальные для всех морфов — они могут иметь флаг «непрерываемый», что позволяет завершить превращение даже во время дизейбла, и собственное время каста.

На данный момент известно, что баг воспроизводится только на «Метаморфозах», причем для воспроизведения есть 2 сценария:
  1. Юнит получает руну с метаморфозой. В доте — не используется, поэтому чисто для справки.
  2. Метаморфоза должна иметь каст тайм, за время которого юнит умрет.

Олдскулы могут помнить, что именно вторым на протяжении всего своего существования грешил Batrider:


Но добиться эффекта на  бетрайдере было непросто. Фактически, манта использовалась в роли надежного прерывателя, который гарантировано попадет в тот же фрейм, что и каст метаморфозы (0 секунд).

В случае же  Lycan — с версии 6.83 превращение занимает 2 секунды. Это действует при морфе В форму и ИЗ неё, причем во втором случае герою не нужно стоять и кастовать, он волен делать всё, что вздумается. Обычно именно так этот баг и происходит. В принципе, умереть за 2 секунды можно и намеренно, разве что пользы от этого бага для победы скорее нет, чем да.

Свойства бага

Юнит начинает выполнять только один приказ. Думает только о нём, не может смотреть на что-то другое, и полностью посвящен заданной миссии.



Любой отданный приказ игнорируется — всё делается только ради того, чтобы выполнить уже имеющийся. Если поставить "следовать" (райт клик) на союзника, можно забить на всё — пока тот не умрет, контроля не будет, т.к. «следовать» не имеет стадии «выполнение завершено». Если поставить "атаковать" — он будет атаковать цель бесконечно долго, пока та не умрет и приказ не будет выполнен.

Здесь нужно вспомнить одну особенность всех стандартных станов — на самом деле это приказ. По своему принципу «стан» — это приказ не атаковать и не двигаться, данный юниту. Магические сетки, вроде тех, что у  Rhasta или  Batrider или даже ульта  Bane — тоже основаны на приказе стана. Черт, да даже Циклон работает на основе приказа стана!

А теперь вспомним, что юнит не слушается никаких приказов, кроме того, что у него на уме — и перед нами машина-убийца, остановить которую не может ничто. Кроме советской бомбы AH602 с 58 мегатонн тротилового эквивалента и радиусом поражения 30 км.



Приказ «атаковать союзника» обычно останавливается при помощи триггерного приказа стоп. Но, как уже сказано, юниту плевать на приказы.

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



Единственный способ прервать это состояние — заставить юнита выполнить любой морф нормально, как следует. Проблема лишь в том, что метаморфоза остается заблокированной, словно юнит в стадии превращения, навсегда, даже после смерти. Так что излечить это можно только триггерами. И такой даже есть!

Команда -recreate требует, чтобы ликан стоял на базе. Занимает 2 минуты. После этого герой должен вернуться в нормальное состояние. На практике никогда не проверял.

Подверженные багу юниты

 Lycan. Nuff said.
 Batrider был излечен добавлением флагов «мгновенный взлет» и «приземление», благодаря которым морф занимает ровно 0.0 секунд и не прерывается мантой.
Впрочем, уже есть инфа о возможности сломать Бэта при помощи бладстона по аналогии с Manta.
В общем, все юниты с Metamorphose или Chemical Rage (он обязан менять тип передвижения юнита с наземного на летающий или наоборот, превращение в тот же тип никогда не багает) могут багаться, проблема лишь в том, что зачастую это крайне сложно из-за нулевой длительности.



Статус бага в Allstars

Из-за своих «особых» багов и реализации метаморфоза в Allstars не используется вообще и заменена на Chemical Rage. Разницу можно узнать в топике морфов. «Сломать» бетрайдера всё еще можно, но ликан точно не страдает от таких проблем.

12 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.