Почему змейки веномансера доводят до суицида

Когда юнит умирает, всегда есть убийца и убитый. Эти данные обрабатывает охуенно длинный триггер, вычисляя, кому зачислить убийство и массу других чисел. Но в некоторых случаях он бессилен, потому что варкрафт — намного более сложный механизм. Сегодня вы узнаете, почему от змейки веномансера может случиться суицид.


Любой юнит существует в памяти игры, и освобождает место только после того, как его будет «безопасно» удалить. Варкрафт использует трупы для поднятия скелетов или даже полного оживления юнитов на сторону кастера. Кто играл в ладдер WC3, те помнят эти абилки. Чтобы знать, где лежит труп и какой это юнит, варик никогда не стирает мертвых юнитов сразу же. Если юнита нельзя поднять или использовать его труп, это указывается в настройках юнита — тогда он будет удален из игры мгновенно после смерти.

Вызванные юниты не оставляют трупов — варкрафт по умолчанию считает их временными. Их нельзя поднять, из них нельзя вызвать скелетов. Поэтому иллюзии и саммоны мгновенно стираются из памяти игры, не оставляя следов.

Вернемся к убийцам. Если герой выстрелил в другого и умер, причем цель умерла тоже, варкрафт спросит — кто убийца? И увидит обоих героев, потому что они мало того, что обычно возрождаются, так еще и постоянные юниты. Они остаются в памяти, и игра легко достанет и убийцу, и убитого.

Если иллюзия выстрелит в героя и исчезнет (умрет), то в момент попадания выстрел будет принадлежать кому? Никому. В памяти игры уже нет никакого юнита по тому адресу, где была иллюзия. В итоге урон приходит из пустоты, а если он смертелен — получается, что юнита убивает пустота. В варкрафте так и остается, но в доте триггер считает любой урон без владельца принадлежащим самому юниту. Проще говоря, если убийца не опознан, автоматически считается суицид.
Невидимая убийца
Мортред довольна неопознанными убийствами

Теперь снова к змейкам. Яд наносит урон от лица того, кто его разместил. Юнит получает урон от яда от конкретной змейки. Когда змейка умирает, она стирается, и весь остальной урон яда будет наноситься из пустоты. И, когда юнит умрет, получится суицид.

Как можно было прочитать в гайде по АБД, юниты остаются в памяти игры 14 секунд после смерти. Это результат сложения двух параметров: времени смерти (1.5 для крипов) и времени разложения трупов (12 секунд, константа). Тонкость в том, что саммоны не разлагаются, как и иллюзии. Поэтому для них важно лишь время смерти, которое для змеек — 0.98. Спустя 1 секунду после смерти змейки урон станет ничейным и может легко привести к суициду.

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

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