MacroAnvil — конструктор и линтер макросов для World of Warcraft
Если ты когда-нибудь вручную собирал макросы в WoW Classic, то знаешь: полуживой синтаксис, неверный порядок условий и одна опечатка способны сломать всю ротацию. MacroAnvil решает эту боль раз и навсегда. Этот аддон для World of Warcraft берёт на себя всё — от создания макроса по одному клику до подробной проверки того, что именно выполнит клиент игры.
Что умеет MacroAnvil
MacroAnvil — это одновременно библиотека, конструктор и линтер. Он поставляется сразу с 412 готовыми макросами, распределёнными по классам, веткам талантов и типам навыков. Достаточно одного нажатия, чтобы вынести готовый макрос на панель действий. Классы распределены так: Warrior — 39, Paladin — 43, Hunter — 40, Rogue — 41, Priest — 40, Shaman — 39, Mage — 40, Warlock — 40, Druid — 40, а ещё 50 универсальных макросов работают для любого класса.
Не думай, что это просто набор готовых текстов. Реальная ценность MacroAnvil — в том, что аддон понимает язык макросов Burning Crusade. Он напишет корректный макрос для любого заклинания из твоей книги и прочитает любой чужой макрос, объяснив, что с ним в действительности сделает клиент.
Умная фильтрация под твоего персонажа
В библиотеке можно отфильтровать макросы по классу, ветке талантов и типу: Attack, Heal, Buff, Defensive, Pet, Utility, Movement, Consumable, PvP и Profession. Отметь галочку Only what I can use — и список сузится до того, что персонаж действительно способен применить. Аддон читает данные прямо из книги заклинаний, а не из статичной таблицы, поэтому уровень, таланты, раса и профессия учитываются единым механизмом, который не может разойтись с игрой. Каждый ID заклинания сверен с собственными таблицами заклинаний клиента, а требования к стойкам, формам, оружию и тотемам взяты из первоисточника.
Конструктор макросов /ma new
Builder работает максимально по-человечески. Выбираешь заклинание, указываешь цель — твой текущий таргет, то, на что наведён курсор, фокус, самого себя или умный порядок из всех вариантов — и добавляешь ветки модификаторов: Shift кастует одно, Ctrl — другое. Отметь лишние опции: прервать текущее заклинание, включить автоатаку, выйти из формы, спешиться, показать тултип.
Тело макроса собирается в правильном порядке на лету, с живым предпросмотром и подсветкой ошибок под ним. Порядок клауз — та самая вещь, на которой спотыкаются все: выигрывает первое подходящее условие, поэтому любая «голая» клауза не на последнем месте делает весь последующий код мёртвым. Формально builder не может выдать такой макрос, а значит и ломаться его результатам просто негде.
Линтер /ma lint и проверка /ma health
Линтер проверяет любой макрос — твой, друга или вытащенный с форума 2007 года. Всего 33 проверки. Например, два заклинания, тратящие общий кулдаун, означают, что сработает только первое — и лоадер спросит об этом прямо у клиента. Ещё он ловит мёртвые клаузы вроде «/cast Frostbolt; [harm] Fireball», неохраняемый @mouseover, дружественные касты без nodead, которые с радостью полетят в труп, и условия, которых в TBC просто не существует — [@cursor], [spec:], [talent:], [known:], [bonusbar:] — с указанием, из какого они расширения.
Проверяются и конфликты состояний: макрос, который переключает Battle Stance и тут же кастует что-то из Defensive, или Cat-способность рядом с Bear-способностью. Сюда же — два тотема в одном слоте, два взаимоисключающих аура-бафа, невыученный ранг, castsequence без reset=, несбалансированные скобки, превышение 255 символов и имя длиннее 16 знаков. Команды читаются из собственных таблиц команд клиента, поэтому /spell, /tar, /eq и локализованные варианты вроде немецкого /wirken распознаются, а не помечаются ошибкой.
У линтера железное правило: если он не уверен — он молчит. Если клиент не может ответить на вопрос, проверка остаётся тихой. Находки выдаются на трёх уровнях — STOP, CHECK и негромкая заметка. Команда /ma health прогоняет те же проверки по всем макросам, что у тебя есть.
Наборы, раскладки и обмен
Набор — это группа макросов вместе с их расположением на панелях и назначенными клавишами. Респекнулись в PvP-спек — просто загрузи набор обратно. Загрузка набора никогда не перезапишет твой собственный макрос и не займёт клавишу, которая уже занята чем-то другим. Библиотечные макросы путешествуют по ID, а свои — по содержимому, поэтому друг на клиенте с другим языком всё равно получит рабочие макросы.
Между прочим, быстро скачать MacroAnvil и попробовать его в деле можно за пару минут: в каталоге дополнений лаунчера foxygame.net достаточно один клик по установить, и аддон появится в нужной папке без ручной возни с архивами. Лаунчер сам следит за наличием свежих версий, так что не придётся ходить по сайтам в поисках актуального файла.
Как установить MacroAnvil
Процесс установки классический: помести папку MacroAnvil в World of Warcraft\_classic_\Interface\AddOns\ так, чтобы MacroAnvil.toc лежал прямо внутри неё. Затем полностью перезапусти игру — одного /reload для нового аддона мало. Зайди и набери /ma. Если что-то выглядит не так, /ma verify проверит каждый ID заклинания против твоего клиента, а /ma health прогонит проверки по всем твоим макросам. Эти два вывода — самое полезное, что можно приложить к баг-репорту.
Работа на любом языке
MacroAnvil следует за клиентом игры, и настраивать тут нечего: всё, что принадлежит клиенту, берётся из клиента. Названия заклинаний, предметов, рангов, классов, веток талантов и клавиш. На немецком клиенте макрос соберётся как /cast Heiliges Licht, потому что именно так клиент называет заклинание №635. Собственный текст аддона переведён на девять языков, включая русский, немецкий, французский, испанский и корейский. Хочешь английский на локализованном клиенте — /ma lang en.
Поддерживаемые версии и известные ограничения
Аддон заточен под Burning Crusade Classic, поэтому корректная работа гарантирована именно там. При этом в актуальной сборке аддона учтены и особенности других классических эпох: часть универсальных макросов и механика линтера применимы и в обычном World of Warcraft Classic, и в расширениях вроде WotLK, Cataclysm и MoP, где синтаксис условий заметно отличается — линтер честно подскажет, какое условие из какого расширения родом. Для Retail предусмотрены свои сценарии, так как язык макросов современной версии во многом пересекается со старыми. Что точно неизменно — один GCD на каждое нажатие: WoW не позволяет два заклинания с ГКД из одного макроса, и ни один аддон это не обойдёт. В TBC нет [@cursor], поэтому AoE под землю всё равно придётся кликать вручную. Аддон ничего не делает в бою: там редактирование макросов заблокировано, и MacroAnvil честно об этом сообщает.
Известные ограничения описаны намеренно, чтобы ты знал о них до установки, а не после первого бага. Warrior, Rogue и Druid подменяют первые двенадцать слотов главной панели стойками и формами, поэтому MacroAnvil предпочитает боковую панель и предупреждает, когда приходится использовать основную. Builder не генерирует castsequence-макросы — в библиотеке они есть, линтер их читает, а новые ты пишешь вручную. Названия веток талантов чужих классов могут отображаться на английском, ведь клиент хранит имена деревьев только своего класса.
Команды и итог
Основные команды такие: /ma — открыть библиотеку, /ma текст — открыть с фильтром, /ma new — builder, /ma lint — проверка макроса, /ma health — проверка всех макросов, /ma bars — доступные панели, /ma set — наборы, /ma bind — раскладки клавиш, /ma verify — сверка всех ID заклинаний, /ma clean — список и удаление созданных аддоном макросов, /ma lang — выбор языка, /ma config — настройки. Работают и псевдонимы /macroanvil и /anvil.
Решение простое: скачивай MacroAnvil для World of Warcraft, если надоело гадать, почему макрос не работает. Один аддон — готовые рецепты для любого класса, умный конструктор, честный линтер и полный контроль над результатом. Задал вопрос сценарию — и получил предсказуемый ответ.